Piton

Pisanje faktorskog programa na Pythonu

Pisanje faktorskog programa na Pythonu
Faktorijal broja je broj koji dobijete množenjem svih brojeva s 1 na taj broj. Faktorijal broja označava se s '!'simbol. Na primjer, ako želimo saznati faktor od 4, označen kao 4!, tada bi rezultat bio 1x2x3x4 = 24. Postoji mnogo načina da se sazna faktorijel broja. Faktorijal se može odrediti u Pythonu pomoću ugrađene funkcije za petlje i rekurzivne funkcije. Ovaj tutorial pokazuje kako se faktorijel broja može odrediti pomoću različitih funkcija Pythona.

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.

Kako instalirati i igrati Doom na Linuxu
Uvod u Doom Serija Doom nastala je 90-ih nakon izlaska originalnog Dooma. To je bio trenutni hit i od tog vremena nadalje igraća serija dobila je broj...
Vulkan za korisnike Linuxa
Sa svakom novom generacijom grafičkih kartica vidimo da programeri igara pomiču granice grafičke vjernosti i dolaze na korak od fotorealizma. No, bez ...
OpenTTD vs Simutrans
Stvaranje vlastite simulacije prijevoza može biti zabavno, opuštajuće i izuzetno primamljivo. Zbog toga morate isprobati što više igara kako biste pro...