Primer 1: Poiščite faktorje številke z uporabo vgrajene funkcije
Python ima vgrajeno funkcijo z imenom factorial () pod matematika modul. Naslednji skript izračuna faktorijelo katere koli številke z uporabo vgrajenega factorial () funkcijo. V tem skriptu bo za vhod vzeto katero koli veljavno celoštevilčno število, funkcija pa bo izračunala faktorjsko vrednost te številke in natisnila faktorjsko vrednost vhodnega števila.
#!/ usr / bin / env python3# Uvozi matematični modul
uvozna matematika
# Vzemite poljubne številske vrednosti
n = int (vnos ("Vnesite katero koli številko:"))
# Poiščite faktorje
dejstvo = matematika.factorial (n)
# Natisnite rezultat faktorja
print ("Faktorial% d je% d"% (n, dejstvo))
Izhod
Po zagonu skripta je 3 podana kot vhodna številka in izhodna vrednost 3!, 6, je natisnjen.
2. primer: Z zanko poiščite faktorje številke
Naslednji skript prikazuje, kako lahko izračunate faktorje poljubnega števila, ne da bi uporabili vgrajeno funkcijo v Pythonu. Tukaj za zanka se uporablja za izračun faktorja števila. Vsa vhodna celoštevilčna vrednost bo sprejeta in shranjena kot imenovana spremenljivka n. Spremenljivka z imenom dejstvo se uporablja za shranjevanje faktorijelnega rezultata in se pred vstopom v zanko inicializira na 1. Če je vrednost n je več kot ena ali enaka enoti, potem se zanka ponovi 1 do n + 1-krat in izračuna faktorjsko vrednost. V nasprotnem primeru bo zanka preverila, ali je vrednost n enaka 0 ali negativna. Če je vrednost n 0, bo faktorski rezultat 1; in če je vrednost n negativno celo število, se bo natisnilo sporočilo o napaki.
#!/ usr / bin / env python3# Vzemite številčno vrednost in shranite v n
n = int (vnos ("Vnesite katero koli številko:"))
# Inicializirajte spremenljivko
dejstvo = 1
# Ugotovite faktorje, če je vhodna številka večja od 0
če je n> = 1:
# Ponovite zanko, da pomnožite številke znotraj 1 do n
za i v območju (1, n + 1):
dejstvo = dejstvo * i
# Natisnite rezultat fkatorial
print ("Faktorial% d je% d."% (n, dejstvo))
sicer:
če je n == 0:
# Natisnite rezultat 0!
print ("Faktorij za", n, "je")
sicer:
# Natisnite sporočilo o napaki
print ("Vnesti morate katero koli pozitivno številko")
Izhod
V skladu s spodnjim posnetkom zaslona se skript izvede trikrat. Skript se izvede za vhodne vrednosti 1, 6 in -8. Izhodi so prikazani glede na vhodne vrednosti.
Primer 3: Poiščite faktorijev števila z uporabo rekurzivne funkcije
Funkcija, ki se med izvajanjem funkcije pokliče, se imenuje rekurzivna funkcija. Naslednji skript prikazuje način za izračun faktorja poljubnega celoštevilskega števila z uporabo rekurzivne funkcije. Po vnosu celoštevilskega števila kot vhoda rekurzivna funkcija factorial_resursive () bo poklican z vhodno vrednostjo kot argument. Če je vhodna vrednost 0 ali 1, se vrne 1. Če je vhodna vrednost negativna, bo vrnjena vrednost argumenta. Če je vhodna vrednost večja od 1, se bo funkcija sama poklicala tako, da bo argument vedno znova odštevala z 1, dokler ne bo izračunala rezultata faktorja.
#!/ usr / bin / env python3# Vzemite številčno vrednost
število = int (vnos ("Vnesite katero koli številko:"))
# Določite rekurzivno funkcijo za izračun faktorja
def factorial_recursive (n):
# Shranite faktorijev rezultat 0 in 1
če je n == 0 ali n == 1:
rezultat = 1
# Shranite vhodno številko za negativno vrednost
elif n < 1:
rezultat = n
# Poiščite faktorijev rezultat na rekurziven način
sicer:
rezultat = n * factorial_recursive (n-1)
# Vrnite rezultat
vrni rezultat
# Pokličite funkcijo
dejstvo = factorial_recursive (število)
# Natisnite rezultat za pozitivno število
če je dejstvo> = 0:
print ("Faktorial% d je% d."% (število, dejstvo))
sicer:
# Natisnite sporočilo za negativno številko
print ("Vnesti morate katero koli pozitivno številko")
Izhod
Na naslednjem posnetku zaslona se skript izvede trikrat z vrednostmi 1, -5 in 8.
Primer 4: Poiščite faktorje številke z obravnavo izjem
Zgornji trije skripti samo preverjajo, ali je število pozitivno ali negativno. Naslednji skript izračuna faktorije prek vgrajene funkcije factorial () z obdelavo izjem. Če uporabnik poda kakršen koli vnos brez celoštevilske vrednosti, se ustvari izjema in natisne sporočilo o napaki.
#!/ usr / bin / env python3# Uvozi matematični modul
uvozna matematika
# Uprite blok poskus
poskusite:
# Vzemite številčno vrednost
n = int (vnos ("Vnesite katero koli številko:"))
če je n> = 0:
# Poiščite faktorje
dejstvo = matematika.factorial (n)
# Natisnite rezultat faktorja
print ("Faktorial% d je% d"% (n, dejstvo))
sicer:
# Povečajte izjemo, če je število negativno
dvigniti izjemo ("Vnesti morate katero koli pozitivno številko")
# natisnite sporočilo o napaki za delni vnos
razen ValueError:
print ("Vnesti morate celo število")
# Natisni sporočilo o napaki za negativni vnos
razen izjeme kot e:
print ('Napaka:% s'% e)
Izhod
Skript se na naslednjem posnetku zaslona izvede trikrat z vrednostmi h, -3 in 7. Tu je izjema ustvarjena za vrednost, 'h."
Zaključek
Ta vadnica prikazuje nekaj različnih načinov, kako lahko v Pythonu izračunate faktorsko vrednost števila. Koncept faktorijela števila in metode za izračun faktorja na osnovi Pythona bi morale biti bralcu jasne po branju te vadnice.