Faktorių programos rašymas „Python“

Writing Factorial Program Python



Skaičiaus koeficientas yra skaičius, kurį gausite padauginę visus skaičius nuo 1 iki to. Skaičiaus faktorialas žymimas simboliu „!“. Pavyzdžiui, jei norime sužinoti faktorialą 4, žymimą 4 !, tada rezultatas būtų 1x2x3x4 = 24. Yra daug būdų, kaip sužinoti skaičiaus faktorialas. Faktorių galima nustatyti „Python“ naudojant integruotą ciklo ir rekursinių funkcijų funkciją. Ši pamoka parodo, kaip skaičiaus koeficientą galima nustatyti naudojant įvairias „Python“ funkcijas.

1 pavyzdys: suraskite faktoriaus skaičių naudodami integruotą funkciją

„Python“ turi įmontuotą funkciją pavadinimu faktorius () po matematika modulis. Šis scenarijus apskaičiuoja bet kurio skaičiaus koeficientą, naudodami įmontuotą faktorius () funkcija. Šiame scenarijuje bet koks galiojantis sveikasis skaičius bus laikomas įvestimi, o funkcija apskaičiuos to skaičiaus faktinę vertę ir išspausdins įvesties numerio faktinę vertę.







#!/usr/bin/env python3
# Importuoti matematikos modulį
importas matematika
# Paimkite bet kokias skaičių reikšmes
n= tarpt(įvesties('Įveskite bet kokį skaičių:'))
# Sužinokite faktorių
faktas= matematika.faktoriumi(n)
# Atspausdinkite faktoriaus rezultatą
spausdinti(„ %D faktorius yra %d“%(n,faktas))

Išvestis



Paleidus scenarijų, 3 nurodomas kaip įvesties numeris, o išvestis - 3 !, 6 - atspausdinama.







2 pavyzdys: Raskite skaičiaus faktorialą naudodami kilpą

Šis scenarijus parodo, kaip galite apskaičiuoti bet kurio skaičiaus koeficientą nenaudodami jokios „Python“ integruotos funkcijos. Čia, dėl kilpa naudojama skaičiaus faktorialiui apskaičiuoti. Bet kokia įvesties sveikojo skaičiaus vertė bus paimta ir saugoma kaip kintamasis n . Kintamasis pavadintas faktas naudojamas faktoriniam rezultatui saugoti ir prieš įvedant ciklą inicijuojamas iki 1. Jei vertė n yra daugiau nei vienas arba lygus vienam, tada kilpa kartosis nuo 1 iki n+1 karto ir apskaičiuos faktinę vertę. Priešingu atveju ciklas patikrins, ar n reikšmė lygi 0, ar neigiama. Jei n reikšmė yra 0, faktoriaus rezultatas bus 1; ir jei n reikšmė yra neigiamas sveikasis skaičius, bus išspausdintas klaidos pranešimas.

#!/usr/bin/env python3

# Paimkite skaitinę reikšmę ir išsaugokite n
n= tarpt(įvesties('Įveskite bet kokį skaičių:'))
# Inicijuokite kintamąjį
faktas= 1
# Sužinokite faktorių, jei įvesties skaičius yra didesnis nei 0
jein> = 1:
# Pakartokite ciklą, kad padaugintumėte skaičius nuo 1 iki n
dėliį diapazonas (1,n+1):
faktas=faktas * i
# Atspausdinkite faktinį rezultatą
spausdinti(' %D faktorius yra %d.'%(n,faktas))
Kitas:
jein== 0:
# Spausdinkite rezultatą 0!
spausdinti(„Faktorius“,n, 'yra')
Kitas:
# Atspausdinkite klaidos pranešimą
spausdinti(„Turite įvesti bet kokį teigiamą skaičių“)

Išvestis



Scenarijus vykdomas tris kartus pagal šią ekrano kopiją. Scenarijus vykdomas įvesties reikšmėms 1, 6 ir -8. Išėjimai rodomi pagal įvesties vertes.

3 pavyzdys: Raskite skaičiaus faktorialą naudodami rekursinę funkciją

Funkcija, kuri save vadina vykdant funkciją, vadinama rekursine funkcija. Šis scenarijus parodo būdą apskaičiuoti bet kurio sveikojo skaičiaus koeficientą naudojant rekursinę funkciją. Paėmus sveikąjį skaičių kaip įvestį, rekursinė funkcija factorial_resursive () bus iškviesta, o įvesties reikšmė bus kaip argumentas. Jei įvesties vertė yra 0 arba 1, grąžinama 1. Jei įvesties vertė yra neigiama, argumento vertė bus grąžinta. Jei įvesties reikšmė yra didesnė nei 1, funkcija skambins savaime, vėl ir vėl atimdama argumentą iš 1, kol apskaičiuos faktoriaus rezultatą.

#!/usr/bin/env python3
# Paimkite skaitinę vertę
skaičius= tarpt(įvesties('Įveskite bet kokį skaičių:'))
# Apibrėžkite rekursinę funkciją, kad apskaičiuotumėte koeficientą
deffaktorinis_rekursyvus(n):
# Išsaugokite faktinį rezultatą 0 ir 1
jein== 0 arban== 1:
rezultatas= 1
# Išsaugokite neigiamos vertės įvesties numerį
elifasn< 1:
rezultatas=n
# Raskite faktinį rezultatą rekursiniu būdu
Kitas:
rezultatas=n*faktoriaus_rekursyvus(n-1)
# Grąžinkite rezultatą
grįžtirezultatas
# Skambinkite funkcijai
faktas=faktorinis_rekursyvus(skaičius)
# Išspausdinkite teigiamą skaičių
jeifaktas> = 0:
spausdinti(' %D faktorius yra %d.'%(skaičius,faktas))
Kitas:
# Atspausdinkite neigiamo skaičiaus pranešimą
spausdinti(„Turite įvesti bet kokį teigiamą skaičių“)

Išvestis

Šioje ekrano kopijoje scenarijus vykdomas tris kartus su reikšmėmis 1, -5 ir 8.

4 pavyzdys: Raskite skaičiaus faktoriumą su išimčių tvarkymu

Pirmiau minėti trys scenarijai tik patikrina, ar skaičius yra teigiamas, ar neigiamas. Šis scenarijus apskaičiuoja koeficientą per įmontuotą faktoriaus () funkciją su išimčių tvarkymu. Jei vartotojas įveda bet kokį įvestį be sveiko skaičiaus vertės, tada bus sukurta išimtis ir išspausdintas klaidos pranešimas.

#!/usr/bin/env python3
# Importuoti matematikos modulį
importas matematika
# Aplenkite bandymo bloką
bandyti:
# Paimkite skaitinę vertę
n= tarpt(įvesties('Įveskite bet kokį skaičių:'))
jein> = 0:
# Sužinokite faktorių
faktas= matematika.faktoriumi(n)
# Atspausdinkite faktoriaus rezultatą
spausdinti(„ %D faktorius yra %d“%(n,faktas))
Kitas:
# Padidinkite išimtį, jei skaičius yra neigiamas
pakelti Išimtis(„Turite įvesti bet kokį teigiamą skaičių“)
# išspausdinkite klaidos pranešimą, kai įvedama trupmena
išskyrus „ValueError“:
spausdinti(„Turite įvesti sveiką skaičių“)
# Spausdinimo klaidos pranešimas dėl neigiamos įvesties
išskyrus Išimtis kaipIr:
spausdinti(„Klaida:%s“%Ir)

Išvestis

Scenarijus vykdomas tris kartus su reikšmėmis h, -3 ir 7 šioje ekrano kopijoje. Čia išimtis sukuriama reikšmei „h“.

Išvada

Ši pamoka parodo keletą skirtingų būdų, kaip apskaičiuoti faktinę skaičiaus vertę „Python“. Skaičiaus faktoriaus sąvoka ir „Python“ pagrįsti faktoriaus apskaičiavimo metodai turėtų būti aiškūs skaitytojui perskaičius šią mokymo programą.