Python

Pisanje faktorskega programa v Pythonu

Pisanje faktorskega programa v Pythonu
Faktor na število je število, ki ga dobite po pomnožitvi vseh števil z 1 na to število. Faktorial števila je označen z!'simbol. Na primer, če želimo ugotoviti faktorijel 4, označen s 4!, potem bi bil rezultat 1x2x3x4 = 24. Obstaja veliko načinov, kako ugotoviti faktorje številke. Faktorial je mogoče določiti v Pythonu z uporabo vgrajene funkcije zanke in rekurzivnih funkcij. Ta vadnica prikazuje, kako je mogoče z različnimi funkcijami Pythona določiti faktorje števil.

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.

Microsoft Sculpt Touch Wireless Mouse Review
Pred kratkim sem prebral o Microsoftov kiparski dotik brezžično miško in se odločil za nakup. Potem ko sem ga nekaj časa uporabljal, sem se odločil, d...
Zaslonska sledilna ploščica in kazalec miške AppyMouse za tablične računalnike Windows
Uporabniki tabličnih računalnikov pogosto zgrešijo miškin kazalec, še posebej kadar običajno uporabljajo prenosne računalnike. Pametni telefoni in tab...
Srednji gumb miške ne deluje v sistemu Windows 10
The srednji gumb miške vam pomaga, da se pomikate po dolgih spletnih straneh in zaslonih z veliko podatkov. Če se to ustavi, boste na koncu uporabili ...