Pisanje faktorijalnog programa u Pythonu

Writing Factorial Program Python



Faktorijal broja je broj koji dobijete nakon množenja svih brojeva od 1 do tog broja. Faktorijal broja označen je simbolom '!'. Na primjer, ako želimo saznati faktor od 4, označen s 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 vodič pokazuje kako se faktorijal 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 imena faktorijel() ispod matematika modul. Sljedeća skripta izračunava faktorijel bilo kojeg broja pomoću ugrađenog faktorijel() funkcija. U ovoj skripti svaki valjani cijeli broj bit će uzet kao ulaz, a funkcija će izračunati faktorsku vrijednost tog broja i ispisati faktorsku vrijednost ulaznog broja.







#!/usr/bin/env python3
# Uvezi matematički modul
uvoz matematika
# Uzmite bilo koje brojčane vrijednosti
n= int(ulazni('Unesite bilo koji broj:'))
# Saznajte faktorijel
činjenica= matematika.faktorijel(n)
# Ispišite rezultat faktorijela
ispisati('Faktor %d je %d'%(n,činjenica))

Izlaz



Nakon pokretanja skripte, 3 se daje kao ulazni broj i ispisuje se izlaz 3 !, 6.







Primjer 2: Pronađite faktorijel broja pomoću petlje

Sljedeća skripta prikazuje kako možete izračunati faktorijel bilo kojeg broja bez korištenja bilo koje ugrađene funkcije u Pythonu. Ovdje, za petlja se koristi za izračun faktorijala broja. Svaka ulazna cijela vrijednost bit će uzeta i pohranjena kao imenovana varijabla n . Varijabla pod imenom činjenica koristi se za spremanje faktorskog rezultata i inicijalizira se na 1 prije ulaska u petlju. Ako je vrijednost n je više od jedan ili jednak jedan, tada će petlja ponavljati 1 do n+1 puta i izračunat će faktorsku vrijednost. U protivnom će petlja provjeriti je li vrijednost n jednaka 0 ili negativna. Ako je vrijednost n 0, tada će faktorski rezultat biti 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 pohranite u n
n= int(ulazni('Unesite bilo koji broj:'))
# Inicijalizirajte varijablu
činjenica= 1
# Saznajte faktorijel ako je ulazni broj veći od 0
akon> = 1:
# Iteraciju petlje za višestruke brojeve unutar 1 do n
zaiu domet (1,n+1):
činjenica=činjenica * i
# Ispišite fkatorski rezultat
ispisati('Faktor %d je %d.'%(n,činjenica))
drugo:
akon== 0:
# Ispišite rezultat 0!
ispisati('Faktor',n, 'je')
drugo:
# Ispišite poruku o pogrešci
ispisati('Morate unijeti bilo koji pozitivan broj')

Izlaz



Skripta se izvršava tri puta, prema sljedećoj snimci zaslona. Skripta se izvršava za ulazne vrijednosti 1, 6 i -8. Izlazi se prikazuju prema ulaznim vrijednostima.

Primjer 3: Pronađite faktorijel broja pomoću rekurzivne funkcije

Funkcija koja se poziva tijekom izvršavanja funkcije naziva se rekurzivna funkcija. Sljedeća skripta prikazuje način izračuna faktora bilo kojeg cijelog broja pomoću rekurzivne funkcije. Nakon što za ulaz unese cijeli broj, rekurzivna funkcija factorial_resursive () bit će pozvan, 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 tako da oduzme argument za 1 uvijek iznova dok ne izračuna rezultat faktorijela.

#!/usr/bin/env python3
# Uzmite brojčanu vrijednost
broj= int(ulazni('Unesite bilo koji broj:'))
# Definirajte rekurzivnu funkciju za izračun faktorijela
deffaktorski_rekurzivni(n):
# Pohranite faktorski rezultat od 0 i 1
akon== 0 ilin== 1:
proizlaziti= 1
# Spremite ulazni broj za negativnu vrijednost
elifn< 1:
proizlaziti=n
# Pronađite faktorski rezultat na rekurzivan način
drugo:
proizlaziti=n*faktorski_rekurzivni(n-1)
# Vratite rezultat
povratakproizlaziti
# Pozovite funkciju
činjenica=faktorski_rekurzivni(broj)
# Ispišite rezultat za pozitivan broj
akočinjenica> = 0:
ispisati('Faktor %d je %d.'%(broj,činjenica))
drugo:
# Ispišite poruku za negativni broj
ispisati('Morate unijeti bilo koji pozitivan broj')

Izlaz

Na sljedećem snimku zaslona skripta se izvodi tri puta s vrijednostima 1, -5 i 8.

Primjer 4: Pronađite faktorijel broja s rukovanjem iznimkama

Gore navedene tri skripte samo provjeravaju je li broj pozitivan ili negativan. Sljedeća skripta izračunava faktorijel putem ugrađene funkcije factorial () s rukovanjem iznimkama. Ako korisnik unese bilo koji unos bez cijele vrijednosti, tada će se generirati iznimka i ispisati poruka o pogrešci.

#!/usr/bin/env python3
# Uvezi matematički modul
uvoz matematika
# Prkosite bloku pokušaja
probati:
# Uzmite brojčanu vrijednost
n= int(ulazni('Unesite bilo koji broj:'))
akon> = 0:
# Saznajte faktorijel
činjenica= matematika.faktorijel(n)
# Ispišite rezultat faktorijela
ispisati('Faktor %d je %d'%(n,činjenica))
drugo:
# Podignite iznimku ako je broj negativan
podići Izuzetak('Morate unijeti bilo koji pozitivan broj')
# ispišite poruku o pogrešci za frakcijski unos
osim ValueError:
ispisati('Morate unijeti cijeli broj')
# Ispis poruke o pogrešci za negativan unos
osim Izuzetak kaoI:
ispisati('Pogreška:%s'%I)

Izlaz

Skripta se izvršava tri puta s vrijednostima h, -3 i 7 na sljedećoj snimci zaslona. Ovdje se iznimka generira za vrijednost 'h'.

Zaključak

Ovaj vodič prikazuje neke od različitih načina na koje možete izračunati faktorsku vrijednost broja u Pythonu. Koncept faktorijala broja i metode za izračunavanje faktorijala temeljene na Pythonu čitatelju bi trebao biti jasan nakon čitanja ovog vodiča.