Faktoriprogrammi kirjutamine Pythonis

Writing Factorial Program Python



Arvu faktoriaal on arv, mille saate pärast kõigi numbrite korrutamist 1 -st selle numbrini. Arvu faktoriaali tähistatakse sümboliga '!'. Näiteks kui tahame välja selgitada faktoriaali 4, mida tähistatakse 4! Faktoriaali saab määrata Pythonis, kasutades sisseehitatud funktsiooni tsüklite ja rekursiivsete funktsioonide jaoks. See õpetus näitab, kuidas arvu tegurit saab määrata Pythoni erinevate funktsioonide abil.

Näide 1: leidke sisseehitatud funktsiooni abil arvu faktoriaal

Pythonil on sisseehitatud funktsioon nimega faktooriaalne () all matemaatika moodul. Järgmine skript arvutab sisseehitatud arvutiga mis tahes arvu faktooria faktooriaalne () funktsiooni. Selle skripti puhul võetakse sisendiks mis tahes kehtiv täisarv ja funktsioon arvutab selle arvu faktoorväärtuse ning prindib sisendnumbri faktoorväärtuse.







#!/usr/bin/env python3
# Impordi matemaatikamoodul
import matemaatika
# Võtke mis tahes arvväärtusi
n= int(sisend('Sisestage mis tahes number:'))
# Uurige faktoriaali
fakt= matemaatika.faktoorium(n)
# Printige faktoriaali tulemus
printida(' %D faktoriaal on %d'%(n,fakt))

Väljund



Pärast skripti käivitamist antakse sisendarvuks 3 ja prinditakse väljund 3 !, 6.







Näide 2: leidke silmuse abil arvu faktoriaal

Järgmine skript näitab, kuidas saate arvutada mis tahes arvu tegurit ilma Pythonis sisseehitatud funktsiooni kasutamata. Siin, eest tsüklit kasutatakse arvu faktoriaalide arvutamiseks. Kõik sisendarvud võetakse ja salvestatakse muutuja nimega n . Muutuja nimega fakt kasutatakse faktoriaalse tulemuse salvestamiseks ja enne tsüklisse sisenemist lähtestatakse see väärtuseks 1. Kui väärtus n on rohkem kui üks või võrdne ühega, siis tsükkel kordub 1 kuni n+1 korda ja arvutab teguriväärtuse. Vastasel juhul kontrollib tsükkel, kas n väärtus on võrdne 0 või negatiivne. Kui n väärtus on 0, siis on faktori tulemus 1; ja kui n väärtus on negatiivne täisarv, prinditakse veateade.

#!/usr/bin/env python3

# Võtke arvväärtus ja salvestage n
n= int(sisend('Sisestage mis tahes number:'))
# Initsialiseeri muutuja
fakt= 1
# Uurige faktoriaali, kui sisendarv on suurem kui 0
kuin> = 1:
# Korda tsüklit, et korrutada arvud vahemikus 1 kuni n
eestisisse vahemik (1,n+1):
fakt=fakt * mina
# Printige tulemus
printida(' %D faktoriaal on %d.'%(n,fakt))
muidu:
kuin== 0:
# Printige tulemus 0!
printida('Faktoriaal',n, ' on ')
muidu:
# Printige veateade
printida('Peate sisestama mis tahes positiivse numbri')

Väljund



Skript käivitatakse kolm korda vastavalt järgmisele ekraanipildile. Skript käivitatakse sisendväärtuste 1, 6 ja -8 jaoks. Väljundid kuvatakse vastavalt sisendväärtustele.

Näide 3: leidke rekursiivse funktsiooni abil arvu faktoriaal

Funktsiooni, mis kutsub ennast funktsiooni täitmise ajal, nimetatakse rekursiivseks funktsiooniks. Järgnev skript näitab viisi, kuidas rekursiivse funktsiooni abil arvutada mis tahes täisarvu faktoriaali. Pärast täisarvu numbri võtmist sisendiks rekursiivne funktsioon factorial_resursive () kutsutakse, sisendväärtus on argument. Kui sisendväärtus on 0 või 1, tagastatakse 1. Kui sisendväärtus on negatiivne, tagastatakse argumendi väärtus. Kui sisendväärtus on suurem kui 1, siis funktsioon kutsub ennast, lahutades argumendi ikka ja jälle 1 -ga, kuni see arvutab faktooria tulemuse.

#!/usr/bin/env python3
# Võtke arvväärtus
number= int(sisend('Sisestage mis tahes number:'))
# Defineerige faktoriaali arvutamiseks rekursiivne funktsioon
deffaktoriaal_rekursiivne(n):
# Salvestage faktoorne tulemus 0 ja 1
kuin== 0 võin== 1:
tulemus= 1
# Salvestage sisendnumber negatiivse väärtuse jaoks
elifn< 1:
tulemus=n
# Leidke faktoorne tulemus rekursiivsel viisil
muidu:
tulemus=n*faktoriaalne_rekursiivne(n-1)
# Tagastage tulemus
tagasitulemus
# Helistage funktsioonile
fakt=faktoriaal_rekursiivne(number)
# Printige positiivse arvu tulemus
kuifakt> = 0:
printida(' %D faktoriaal on %d.'%(number,fakt))
muidu:
# Printige sõnum negatiivse numbri jaoks
printida('Peate sisestama mis tahes positiivse numbri')

Väljund

Järgmisel ekraanipildil käivitatakse skript kolm korda väärtustega 1, -5 ja 8.

Näide 4: leidke erandi käsitlemisega arvu faktoriaal

Ülaltoodud kolm skripti kontrollivad ainult seda, kas arv on positiivne või negatiivne. Järgmine skript arvutab faktoriaali sisseehitatud faktoriaali () funktsiooni kaudu, eranditöötlusega. Kui kasutaja annab sisendi ilma täisarvuta, luuakse erand ja prinditakse veateade.

#!/usr/bin/env python3
# Impordi matemaatikamoodul
import matemaatika
# Tühjendage prooviblokk
proovige:
# Võtke arvväärtus
n= int(sisend('Sisestage mis tahes number:'))
kuin> = 0:
# Uurige faktoriaali
fakt= matemaatika.faktoorium(n)
# Printige faktoriaali tulemus
printida(' %D faktoriaal on %d'%(n,fakt))
muidu:
# Tõstke erand, kui arv on negatiivne
tõsta Erand('Peate sisestama mis tahes positiivse numbri')
# printige veateade murdosa sisestamiseks
välja arvatud Viga väärtuses:
printida('Peate sisestama täisarvu numbri')
# Trüki veateade negatiivse sisendi korral
välja arvatud Erand naguJa:
printida('Viga:%s'%Ja)

Väljund

Skript käivitatakse järgmisel ekraanipildil kolm korda väärtustega h, -3 ja 7. Siin luuakse erand väärtusele „h”.

Järeldus

See õpetus näitab mõningaid erinevaid viise, kuidas arvutada Pythonis arvu faktoorne väärtus. Arvu faktoriaali mõiste ja faktooriumi arvutamise Pythoni-põhised meetodid peaksid pärast selle õpetuse lugemist lugejale selgeks saama.