Pisanje faktorskega programa v Pythonu

Writing Factorial Program Python



Faktorial števila je število, ki ga dobite po množenju vseh številk od 1 do tega števila. Faktorial števila je označen s simbolom '!'. Na primer, če želimo izvedeti faktor 4, označen s 4 !, bi bil rezultat 1x2x3x4 = 24. Obstaja veliko načinov, kako ugotoviti faktorielo števila. Faktorial je mogoče določiti v Pythonu z uporabo vgrajene funkcije za zanke in rekurzivne funkcije. Ta vadnica prikazuje, kako lahko faktoriale števila določimo z različnimi funkcijami Pythona.

Primer 1: Z vgrajeno funkcijo poiščite faktorielo števila

Python ima vgrajeno funkcijo z imenom faktor () pod matematika modul. Naslednji skript izračuna faktorielo poljubnega števila z uporabo vgrajenega faktor () funkcijo. V tem skriptu bo za vnos vzeto vsako veljavno celo število, funkcija pa bo izračunala faktorsko vrednost tega števila in natisnila faktorsko vrednost vhodnega števila.







#!/usr/bin/env python3
# Uvozi matematični modul
uvoz matematika
# Vzemite poljubno število številk
n= int(vnos('Vnesite poljubno številko:'))
# Ugotovite faktorije
dejstvo= matematika.faktorski(n)
# Natisnite rezultat faktorja
tiskanje('Faktor %d je %d'%(n,dejstvo))

Izhod



Po zagonu skripta je 3 vnesena kot vhodna številka in izpis 3 !, 6 se natisne.







Primer 2: Poiščite faktorielo števila z zanko

Naslednji skript prikazuje, kako lahko izračunate faktoriele poljubnega števila brez uporabe vgrajene funkcije v Pythonu. Tukaj, za zanka se uporablja za izračun faktorja števila. Vsa vnesena celoštevilska vrednost bo vzeta in shranjena kot imenovana spremenljivka n . Spremenljivka z imenom dejstvo se uporablja za shranjevanje faktorskega rezultata in se pred vstopom v zanko inicializira na 1. Če je vrednost n je več kot ena ali enaka ena, potem bo zanka ponavljala 1 do n+1 -krat in izračunala faktorsko 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 natisne sporočilo o napaki.

#!/usr/bin/env python3

# Vzemite številsko vrednost in shranite v n
n= int(vnos('Vnesite poljubno številko:'))
# Inicializirajte spremenljivko
dejstvo= 1
# Ugotovite faktor, če je vnosna številka večja od 0
čen> = 1:
# Iteracijo zanke za več številk znotraj 1 do n
zajazv obseg (1,n+1):
dejstvo=dejstvo * i
# Natisnite fcatorial rezultat
tiskanje('Faktor %d je %d.'%(n,dejstvo))
drugače:
čen== 0:
# Natisni rezultat 0!
tiskanje('Faktor',n, 'je')
drugače:
# Natisnite sporočilo o napaki
tiskanje('Vnesti morate poljubno pozitivno število')

Izhod



Skript se izvede trikrat, v skladu z naslednjim posnetkom zaslona. Skript se izvede za vhodne vrednosti 1, 6 in -8. Izhodi so prikazani glede na vhodne vrednosti.

Primer 3: Poiščite faktorielo števila z uporabo rekurzivne funkcije

Funkcija, ki se pokliče med izvajanjem funkcije, se imenuje rekurzivna funkcija. Naslednji skript prikazuje način izračuna faktorja za poljubno celo število z uporabo rekurzivne funkcije. Po tem, ko za vnos vnesemo celo število, rekurzivna funkcija factorial_resursive () bo poklicana z vhodno vrednostjo kot argumentom. Če je vhodna vrednost 0 ali 1, se vrne 1. Če je vnosna vrednost negativna, se vrne vrednost argumenta. Če je vhodna vrednost večja od 1, se bo funkcija poklicala tako, da vedno znova odšteje argument za 1, dokler ne izračuna rezultata faktoriala.

#!/usr/bin/env python3
# Vzemite številsko vrednost
številko= int(vnos('Vnesite poljubno številko:'))
# Določite rekurzivno funkcijo za izračun faktorja
deffaktorsko_rekurzivno(n):
# Shranite faktorski rezultat 0 in 1
čen== 0 alin== 1:
rezultat= 1
# Shranite vhodno številko za negativno vrednost
elifn< 1:
rezultat=n
# Poiščite faktorski rezultat na rekurziven način
drugače:
rezultat=n*faktorsko_rekurzivno(n-1)
# Vrni rezultat
vrnitevrezultat
# Pokličite funkcijo
dejstvo=faktorsko_rekurzivno(številko)
# Natisnite rezultat za pozitivno število
čedejstvo> = 0:
tiskanje('Faktor %d je %d.'%(številko,dejstvo))
drugače:
# Natisnite sporočilo za negativno številko
tiskanje('Vnesti morate poljubno pozitivno število')

Izhod

Na naslednjem posnetku zaslona se skript izvede trikrat z vrednostmi 1, -5 in 8.

Primer 4: Poiščite faktorielo števila z obravnavo izjem

Zgornji trije skripti samo preverijo, ali je število pozitivno ali negativno. Naslednji skript izračuna faktor s pomočjo vgrajene funkcije factorial () z obravnavo izjem. Če uporabnik poda kakršen koli vnos brez celoštevilčne vrednosti, se ustvari izjema in natisne sporočilo o napaki.

#!/usr/bin/env python3
# Uvozi matematični modul
uvoz matematika
# Definiraj poskusni blok
poskusite:
# Vzemite številsko vrednost
n= int(vnos('Vnesite poljubno številko:'))
čen> = 0:
# Ugotovite faktorije
dejstvo= matematika.faktorski(n)
# Natisnite rezultat faktorja
tiskanje('Faktor %d je %d'%(n,dejstvo))
drugače:
# Če je število negativno, dvignite izjemo
dvigniti Izjema('Vnesti morate poljubno pozitivno število')
# natisnite sporočilo o napaki za delni vnos
razen Napaka vrednosti:
tiskanje('Vnesti morate celo število')
# Natisni sporočilo o napaki za negativni vnos
razen Izjema kotIn:
tiskanje('Napaka:%s'%And)

Izhod

Skript se izvede trikrat z vrednostmi h, -3 in 7 na naslednjem posnetku zaslona. Tu se izjema ustvari za vrednost, 'h'.

Zaključek

Ta vadnica prikazuje nekaj različnih načinov, kako lahko izračunate faktorsko vrednost števila v Pythonu. Koncept faktoriala števila in metode za izračun faktorja, ki temeljijo na Pythonu, morajo biti bralcu jasne po branju te vadnice.