Písanie faktoriálneho programu v Pythone

Writing Factorial Program Python



Faktoriál čísla je číslo, ktoré získate po vynásobení všetkých čísel od 1 k tomuto číslu. Faktoriál čísla je označený symbolom „!“. Ak napríklad chceme zistiť faktoriál 4 označený 4 !, potom by bol výsledok 1x2x3x4 = 24. Existuje mnoho spôsobov, ako zistiť faktoriál čísla. Faktoriál je možné určiť v Pythone pomocou vstavanej funkcie pre slučkové a rekurzívne funkcie. Tento tutoriál ukazuje, ako sa dá faktoriál čísla určiť pomocou rôznych funkcií Pythonu.

Príklad 1: Nájdite faktoriál čísla pomocou vstavanej funkcie

Python má vstavanú funkciu s názvom faktoriál () pod matematika modul. Nasledujúci skript vypočítava faktoriál ľubovoľného čísla pomocou vstavanej pamäte faktoriál () funkciu. V tomto skripte sa ako vstup použije akékoľvek platné celé číslo a funkcia vypočíta faktoriálovú hodnotu tohto čísla a vytlačí faktoriálovú hodnotu vstupného čísla.







#!/usr/bin/env python3
# Importujte matematický modul
import matematika
# Vezmite akékoľvek číselné hodnoty
n= int(vstup(„Zadajte ľubovoľné číslo:“))
# Zistite faktoriál
skutočnosť= matematika.faktoriál(n)
# Vytlačte si výsledok faktoriálu
vytlačiť(„Faktoriál %d je %d“%(n,skutočnosť))

Výkon



Po spustení skriptu je 3 zadané ako vstupné číslo a výstup 3 !, 6 je vytlačený.







Príklad 2: Nájdite faktoriál čísla pomocou slučky

Nasledujúci skript ukazuje, ako môžete vypočítať faktoriál ľubovoľného čísla bez použitia vstavanej funkcie v jazyku Python. Tu, pre slučka sa používa na výpočet faktoriálu čísla. Akákoľvek vstupná celočíselná hodnota bude braná a uložená ako premenná s názvom n . Premenná s názvom skutočnosť slúži na uloženie faktoriálneho výsledku a pred vstupom do slučky sa inicializuje na 1. Ak hodnota n je viac ako jedna alebo sa rovná jednej, potom sa slučka opakuje 1 až n+1 krát a vypočíta faktoriálnu hodnotu. V opačnom prípade slučka skontroluje, či je hodnota n rovná 0 alebo záporná. Ak je hodnota n 0, potom faktoriálny výsledok bude 1; a ak je hodnota n záporné celé číslo, vytlačí sa chybové hlásenie.

#!/usr/bin/env python3

# Vezmite číselnú hodnotu a uložte do n
n= int(vstup(„Zadajte ľubovoľné číslo:“))
# Inicializujte premennú
skutočnosť= 1
# Zistite faktoriál, či je zadané číslo viac ako 0
kebyn> = 1:
# Opakujte slučku tak, aby sa čísla vynásobili v rozsahu 1 až n
preiv rozsah (1,n+1):
skutočnosť=skutočnosť * i
# Vytlačte oficiálny výsledok
vytlačiť('Faktoriál %d je %d.'%(n,skutočnosť))
inak:
kebyn== 0:
# Vytlačte výsledok 0!
vytlačiť(„Faktoriál“,n, ' je ')
inak:
# Vytlačte chybové hlásenie
vytlačiť(„Musíte zadať akékoľvek kladné číslo“)

Výkon



Skript sa spustí trikrát podľa nasledujúceho obrázku. Skript sa spustí pre vstupné hodnoty 1, 6 a -8. Výstupy sú zobrazené podľa vstupných hodnôt.

Príklad 3: Nájdite faktoriál čísla pomocou rekurzívnej funkcie

Funkcia, ktorá sa sama volá počas vykonávania funkcie, sa nazýva rekurzívna funkcia. Nasledujúci skript ukazuje spôsob, ako vypočítať faktoriál ľubovoľného celého čísla pomocou rekurzívnej funkcie. Po prevzatí celého čísla ako vstupu rekurzívna funkcia factorial_resursive () sa zavolá so vstupnou hodnotou ako argumentom. Ak je vstupná hodnota 0 alebo 1, vráti sa 1. Ak je vstupná hodnota záporná, vráti sa hodnota argumentu. Ak je vstupná hodnota väčšia ako 1, funkcia sa bude volať sama odčítaním argumentu číslom 1 znova a znova, kým nevypočíta výsledok faktoriálu.

#!/usr/bin/env python3
# Vezmite číselnú hodnotu
číslo= int(vstup(„Zadajte ľubovoľné číslo:“))
# Definujte rekurzívnu funkciu na výpočet faktoriálu
deffaktoriál_rekurzívny(n):
# Uložte faktoriálny výsledok 0 a 1
kebyn== 0 alebon== 1:
výsledok= 1
# Uložte si vstupné číslo pre zápornú hodnotu
elifn< 1:
výsledok=n
# Rekurzívnym spôsobom nájdite faktoriálny výsledok
inak:
výsledok=n*faktoriál_rekurzívny(n-1)
# Vráťte výsledok
vrátiť savýsledok
# Zavolajte funkciu
skutočnosť=faktoriál_rekurzívny(číslo)
# Vytlačte výsledok pre kladné číslo
kebyskutočnosť> = 0:
vytlačiť('Faktoriál %d je %d.'%(číslo,skutočnosť))
inak:
# Vytlačte správu so záporným číslom
vytlačiť(„Musíte zadať akékoľvek kladné číslo“)

Výkon

Na nasledujúcom obrázku je skript vykonaný trikrát s hodnotami 1, -5 a 8.

Príklad 4: Nájdite faktoriál čísla so spracovaním výnimiek

Vyššie uvedené tri skripty kontrolujú iba to, či je číslo kladné alebo záporné. Nasledujúci skript vypočítava faktoriál pomocou vstavanej funkcie faktoriál () so spracovaním výnimiek. Ak používateľ zadá ľubovoľný vstup bez celočíselnej hodnoty, vygeneruje sa výnimka a vytlačí sa chybové hlásenie.

#!/usr/bin/env python3
# Importujte matematický modul
import matematika
# Vzdorujte bloku try
skúsiť:
# Vezmite číselnú hodnotu
n= int(vstup(„Zadajte ľubovoľné číslo:“))
kebyn> = 0:
# Zistite faktoriál
skutočnosť= matematika.faktoriál(n)
# Vytlačte si výsledok faktoriálu
vytlačiť(„Faktoriál %d je %d“%(n,skutočnosť))
inak:
# Ak je číslo záporné, zvýšte výnimku
zdvihnúť Výnimka(„Musíte zadať akékoľvek kladné číslo“)
# vytlačte chybové hlásenie pre zlomkový vstup
okrem ValueError:
vytlačiť(„Musíte zadať celé číslo“)
# Vytlačte chybové hlásenie pre negatívny vstup
okrem Výnimka akoA:
vytlačiť('Chyba:%s'%And)

Výkon

Skript sa na nasledujúcej snímke obrazovky vykoná trikrát s hodnotami h, -3 a 7. Tu sa vygeneruje výnimka pre hodnotu „h“.

Záver

Tento tutoriál ukazuje niektoré z rôznych spôsobov, ako môžete vypočítať faktoriálnu hodnotu čísla v Pythone. Po prečítaní tohto tutoriálu by mal byť čitateľovi jasný koncept faktoriálu čísla a metód na výpočet faktoriálu založených na Pythone.