„Python“

„Factorial“ programos rašymas „Python“

„Factorial“ programos rašymas „Python“
Skaičio faktorialas yra skaičius, kurį gaunate padauginę visus skaičius iš 1 į tą skaičių. Skaičio faktorialas žymimas „!simbolis. Pvz., Jei norime sužinoti faktorialą 4, pažymėtą 4!, tada rezultatas būtų 1x2x3x4 = 24. Yra daugybė būdų, kaip sužinoti skaičiaus faktorialą. Faktorą galima nustatyti „Python“, naudojant integruotą kilpos ir rekursinių funkcijų funkciją. Ši pamoka parodo, kaip skaičiaus faktorialą galima nustatyti naudojant įvairias „Python“ funkcijas.

1 pavyzdys: suraskite skaičiaus faktorialą naudodami integruotą funkciją

„Python“ turi įmontuotą funkciją pavadinimu faktorius () pagal matematika modulis. Šis scenarijus apskaičiuoja bet kurio skaičiaus faktorialą naudodamas integruotą faktorius () funkcija. Šiame scenarijuje bet koks galiojantis sveikasis skaičius bus laikomas įvestimi, o funkcija apskaičiuos to skaičiaus faktorinę vertę ir atspausdins įvesties numerio faktorialinę vertę.

#!/ usr / bin / env python3
# Importuoti matematikos modulį
importuoti matematiką
# Paimkite bet kokią skaičių vertę
n = int (įvestis ("Įveskite bet kurį skaičių:"))
# Sužinokite faktorialą
faktas = matematika.faktorius (n)
# Atspausdinkite faktorialo rezultatą
spausdinti ("% d faktorialas yra% d"% (n, faktas))

Rezultatas

Paleidus scenarijų, 3 nurodomas kaip įvesties numeris ir 3 išvestis!, 6, atspausdintas.

2 pavyzdys: suraskite skaičiaus faktorialą naudodami kilpą

Šis scenarijus parodo, kaip galite apskaičiuoti bet kurio skaičiaus faktorialą nenaudodami jokios integruotos „Python“ funkcijos. Čia, dėl kilpa naudojama skaičiuojant faktorialą. Bet kokia įvesto sveiko skaičiaus reikšmė bus laikoma ir saugoma kaip kintamasis, pavadintas n. Kintamasis pavadintas faktas naudojamas faktoriaus rezultatui saugoti ir prieš įvedant į kilpą, jis inicijuojamas iki 1. Jei vertė n yra daugiau nei vienas arba lygus vienam, tada kilpa kartosis nuo 1 iki n + 1 karto ir apskaičiuos faktoriaus vertę. Priešingu atveju kilpa patikrins, ar n vertė lygi 0, ar neigiama. Jei n reikšmė yra 0, faktoriaus rezultatas bus 1; ir jei n reikšmė yra neigiamas sveikasis skaičius, bus išspausdintas klaidos pranešimas.

#!/ usr / bin / env python3
 
# Paimkite skaitinę vertę ir išsaugokite n
n = int (įvestis ("Įveskite bet kurį skaičių:"))
# Inicializuokite kintamąjį
faktas = 1
# Sužinokite faktorialą, jei įvesties skaičius yra didesnis nei 0
jei n> = 1:
# Kartokite kilpą į kelis skaičius nuo 1 iki n
i diapazone (1, n + 1):
faktas = faktas * i
# Atspausdinkite fcatorial rezultatą
spausdinti ("% d faktorialas yra% d."% (n, faktas))
Kitas:
jei n == 0:
# Atspausdinkite 0 rezultatą!
spausdinti („Faktorialas“, n, „yra“)
Kitas:
# Atspausdinkite klaidos pranešimą
spausdinti ("Jūs turite įvesti bet kokį teigiamą skaičių")

Rezultatas

Scenarijus vykdomas tris kartus pagal šią ekrano kopiją. Scenarijus vykdomas įvesties reikšmėms 1, 6 ir -8. Išėjimai rodomi pagal įvesties vertes.

3 pavyzdys: suraskite skaičiaus faktorialą naudodami rekursyviąją funkciją

Funkcija, kuri pasikviečia vykdant funkciją, vadinama rekursine funkcija. Šis scenarijus parodo, kaip apskaičiuoti bet kurio sveiko skaičiaus faktorialą naudojant rekursinę funkciją. Paėmus sveikąjį skaičių kaip įvestį, rekursinė funkcija factorial_resursive () bus iškviečiamas kaip argumentas įvesties vertė. Jei įvesties vertė yra 0 arba 1, tada 1 bus grąžinta. Jei įvesties vertė yra neigiama, tada bus grąžinta argumento reikšmė. Jei įvesties reikšmė yra didesnė nei 1, funkcija paskambins vėl ir vėl atimdama argumentą 1, kol ji apskaičiuos faktorialo rezultatą.

#!/ usr / bin / env python3
# Paimkite skaitinę vertę
skaičius = int (įvestis ("Įveskite bet kurį skaičių:"))
# Apibrėžkite rekursinę funkciją, kad apskaičiuotumėte faktorialą
def factorial_recursive (n):
# Saugokite faktoriaus 0 ir 1 rezultatą
jei n == 0 arba n == 1:
rezultatas = 1
# Įrašykite neigiamos vertės įvesties numerį
elif n < 1:
rezultatas = n
# Raskite faktūrinį rezultatą rekursyviai
Kitas:
rezultatas = n * faktorius_rekursinis (n-1)
# Grąžinkite rezultatą
grąžinimo rezultatas
# Iškvieskite funkciją
faktas = faktorius_rekursyvus (skaičius)
# Atspausdinkite teigiamo skaičiaus rezultatą
jei faktas> = 0:
spausdinti ("% d faktorialas yra% d."% (skaičius, faktas))
Kitas:
# Atspausdinkite neigiamo skaičiaus pranešimą
spausdinti ("Jūs turite įvesti bet kokį teigiamą skaičių")

Rezultatas

Šioje ekrano kopijoje scenarijus vykdomas tris kartus su 1, -5 ir 8 reikšmėmis.

4 pavyzdys: raskite faktoriaus skaičių, išskyrus tvarkymą

Pirmiau minėti trys scenarijai tik patikrina, ar skaičius yra teigiamas, ar neigiamas. Šis scenarijus apskaičiuoja faktorialą naudodamasis įmontuota „factorial“ () funkcija, išskyrus tvarkymą. Jei vartotojas pateikia bet kurį įvestį be sveiko skaičiaus vertės, tada bus sukurta išimtis ir išspausdintas klaidos pranešimas.

#!/ usr / bin / env python3
# Importuoti matematikos modulį
importuoti matematiką
# Nepaisykite bandymo bloko
bandyti:
# Paimkite skaitinę vertę
n = int (įvestis ("Įveskite bet kurį skaičių:"))
jei n> = 0:
# Sužinokite faktorialą
faktas = matematika.faktorius (n)
# Atspausdinkite faktorialo rezultatą
spausdinti ("% d faktorialas yra% d"% (n, faktas))
Kitas:
# Padidinkite išimtį, jei skaičius yra neigiamas
pakelti išimtį („Jūs turite įvesti bet kokį teigiamą skaičių“)
# išspausdinti dalinio įvesties klaidos pranešimą
išskyrus „ValueError“:
spausdinti ("Jūs turite įvesti sveikąjį skaičių")
# Neigiamo įvesties spausdinimo klaidos pranešimas
išskyrus e išimtį:
spausdinti ('klaida:% s'% e)

Rezultatas

Scenarijus vykdomas tris kartus su reikšmėmis h, -3 ir 7 šioje ekrano kopijoje. Čia sukuriama vertės „h“ išimtis."

Išvada

Šioje pamokoje parodyta keletas skirtingų būdų, kaip galite apskaičiuoti skaičiaus faktinę vertę „Python“. Skaitytojui perskaičius šią pamoką, skaičiaus faktorialo ir „Python“ pagrįstų faktorialo apskaičiavimo metodų samprata turėtų būti aiški skaitytojui.

Kaip rodyti OSD perdangą viso ekrano „Linux“ programose ir žaidimuose
Žaisdami viso ekrano žaidimus arba naudodamiesi programomis be išsiblaškymo viso ekrano režimu, galite nutraukti nuo susijusios sistemos informacijos,...
5 geriausios žaidimų fiksavimo kortos
Visi mes matėme ir pamėgome srautinius žaidimus „YouTube“. „PewDiePie“, „Jakesepticye“ ir „Markiplier“ yra tik vieni iš geriausių žaidėjų, kurie uždir...
Kaip sukurti žaidimą „Linux“
Prieš dešimtmetį nedaugelis „Linux“ vartotojų numatė, kad jų mėgstama operacinė sistema vieną dieną bus populiari komercinių vaizdo žaidimų žaidimų pl...