Primjer 1: Pronađite faktorijel broja pomoću ugrađene funkcije
Python ima ugrađenu funkciju nazvanu faktorijel() ispod matematika modul. Sljedeća skripta izračunava faktorijel bilo kojeg broja pomoću ugrađenog faktorijel() funkcija. U ovoj će se skripti za ulaz uzimati bilo koji valjani cjelobrojni broj, a funkcija će izračunati faktorističku vrijednost tog broja i ispisati faktorijelsku vrijednost ulaznog broja.
#!/ usr / bin / env python3# Uvezi matematički modul
uvozna matematika
# Uzmite bilo koje brojevne vrijednosti
n = int (unos ("Unesite bilo koji broj:"))
# Doznajte faktorijel
činjenica = matematika.faktorijel (n)
# Ispis rezultata faktora
print ("Faktorijal% d je% d"% (n, činjenica))
Izlaz
Nakon pokretanja skripte, 3 se daje kao ulazni broj, a kao izlaz 3!, 6, tiskan je.
Primjer 2: Pomoću petlje pronađite faktorijel broja
Sljedeća skripta pokazuje kako možete izračunati faktorijel bilo kojeg broja bez upotrebe ugrađene funkcije u Pythonu. Evo, za petlja koristi se za izračunavanje faktorijela broja. Sve ulazne cjelobrojne vrijednosti uzet će se i pohraniti kao imenovana varijabla n. Varijabla imenovana činjenica koristi se za pohranjivanje faktora rezultata i inicijalizira se na 1 prije ulaska u petlju. Ako je vrijednost od n je više od jednog ili jednak jedinici, tada će se petlja ponoviti 1 do n + 1 puta i izračunat će faktorijelnu vrijednost. U suprotnom, petlja će provjeriti je li vrijednost n jednaka 0 ili negativna. Ako je vrijednost n 0, faktoristički rezultat bit će 1; a ako je vrijednost n negativan cijeli broj, tada će se ispisati poruka o pogrešci.
#!/ usr / bin / env python3# Uzmite numeričku vrijednost i spremite u n
n = int (unos ("Unesite bilo koji broj:"))
# Inicijalizirajte varijablu
činjenica = 1
# Saznajte faktorijel ako je ulazni broj veći od 0
ako je n> = 1:
# Ponavljajte petlju tako da pomnožite brojeve unutar 1 do n
za i u rasponu (1, n + 1):
činjenica = činjenica * i
# Ispis fkatorial rezultata
print ("Faktorijal% d je% d."% (n, činjenica))
drugo:
ako je n == 0:
# Ispišite rezultat 0!
print ("Faktorijal od", n, "je")
drugo:
# Ispis poruke pogreške
print ("Morate unijeti bilo koji pozitivan broj")
Izlaz
Skripta se izvršava tri puta, prema sljedećem snimku zaslona. Skripta se izvršava za ulazne vrijednosti 1, 6 i -8. Izlazi su prikazani prema ulaznim vrijednostima.
Primjer 3: Pronađite faktorijel broja pomoću rekurzivne funkcije
Funkcija koja se poziva tijekom izvođenja funkcije naziva se rekurzivna funkcija. Sljedeća skripta pokazuje način izračuna faktora bilo kojeg cjelobrojnog broja pomoću rekurzivne funkcije. Nakon uzimanja cjelobrojnog broja kao ulaza, rekurzivna funkcija factorial_resursive () pozvat će se, a ulazna vrijednost kao argument. Ako je ulazna vrijednost 0 ili 1, vratit će se 1. Ako je ulazna vrijednost negativna, tada će se vratiti vrijednost argumenta. Ako je ulazna vrijednost veća od 1, tada će se funkcija pozvati oduzimanjem argumenta iznova i iznova dok ne izračuna rezultat faktora.
#!/ usr / bin / env python3# Uzmite numeričku vrijednost
broj = int (unos ("Unesite bilo koji broj:"))
# Definirajte rekurzivnu funkciju za izračunavanje faktora
def factorial_recursive (n):
# Spremite faktorijelni rezultat 0 i 1
ako je n == 0 ili n == 1:
rezultat = 1
# Spremite ulazni broj za negativnu vrijednost
elif n < 1:
rezultat = n
# Rekurzivno pronađite faktorijelni rezultat
drugo:
rezultat = n * faktorijelni_rekurziv (n-1)
# Vrati rezultat
povratni rezultat
# Pozovite funkciju
činjenica = faktorijelni_rekurziv (broj)
# Ispišite rezultat za pozitivan broj
ako je činjenica> = 0:
print ("Faktorijal% d je% d."% (broj, činjenica))
drugo:
# Ispišite poruku za negativni broj
print ("Morate unijeti bilo koji pozitivan broj")
Izlaz
Na sljedećem snimku zaslona skripta se izvršava tri puta s vrijednostima 1, -5 i 8.
Primjer 4: Pronađite faktorijel broja s rukovanjem iznimkama
Gornje tri skripte samo provjeravaju je li broj pozitivan ili negativan. Sljedeća skripta izračunava faktorijel putem ugrađene funkcije faktorijel () s rukovanjem iznimkama. Ako korisnik daje bilo koji unos bez cijele vrijednosti, generirat će se iznimka i ispisat će se poruka o pogrešci.
#!/ usr / bin / env python3# Uvezi matematički modul
uvozna matematika
# Prkosite bloku try
probati:
# Uzmite numeričku vrijednost
n = int (unos ("Unesite bilo koji broj:"))
ako je n> = 0:
# Doznajte faktorijel
činjenica = matematika.faktorijel (n)
# Ispis rezultata faktora
print ("Faktorijal% d je% d"% (n, činjenica))
drugo:
# Povećajte iznimku ako je broj negativan
podići iznimku ("Morate unijeti bilo koji pozitivan broj")
# ispisuje poruku pogreške za razlomljeni unos
osim ValueError:
print ("Morate unijeti cijeli broj")
# Ispis poruke pogreške za negativni unos
osim iznimke kao e:
print ('Pogreška:% s'% e)
Izlaz
Skripta se izvršava tri puta s vrijednostima h, -3 i 7 na sljedećem snimku zaslona. Ovdje se generira iznimka za vrijednost, 'h.'
Zaključak
Ovaj tutorial prikazuje neke od različitih načina na koje možete izračunati faktorsku vrijednost broja u Pythonu. Koncept faktorijela broja i metode izračunavanja faktora zasnovane na Pythonu trebaju biti jasne čitatelju nakon čitanja ovog vodiča.