Python

Písanie faktoriálneho programu v Pythone

Písanie faktoriálneho programu v Pythone
Faktoriál čísla je číslo, ktoré získate po vynásobení všetkých čísel od 1 do tohto čísla. Faktoriál čísla je označený znakom „!symbol „. Napríklad, ak 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 zabudovanej funkcie pre slučky a rekurzívne funkcie. Tento výukový program ukazuje, ako možno určiť faktoriál čísla pomocou rôznych funkcií jazyka Python.

Príklad 1: Vyhľadajte faktoriál čísla pomocou zabudovanej funkcie

Python má zabudovanú funkciu s názvom faktoriál () pod matematika modul. Nasledujúci skript vypočítava faktoriál ľubovoľného čísla pomocou zabudovanej funkcie faktoriál () funkcia. V tomto skripte sa každé platné celé číslo bude brať ako vstup a funkcia vypočíta faktoriálnu hodnotu tohto čísla a vytlačí faktoriálnu hodnotu vstupného čísla.

#!/ usr / bin / env python3
# Import matematického modulu
import matematiky
# Vezmite ľubovoľné číselné hodnoty
n = int (vstup ("Zadajte akékoľvek číslo:"))
# Zistite faktoriál
skutočnosť = matematika.faktoriál (n)
# Vytlačte výsledok faktoriálu
print ("Faktoriál% d je% d"% (n, fakt))

Výkon

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

Príklad 2: Vyhľadajte faktoriál čísla pomocou slučky

Nasledujúci skript ukazuje, ako môžete vypočítať faktoriál ľubovoľného čísla bez použitia akejkoľvek zabudovanej funkcie v Pythone. Tu je pre slučka sa používa na výpočet faktoriálu čísla. Každá vstupná celočíselná hodnota sa vezme a uloží ako premenná s názvom n. Premenná s názvom skutočnosť sa používa na uloženie faktoriálneho výsledku a pred vstupom do cyklu sa inicializuje na 1. Ak je hodnota n je viac ako jedna alebo rovná jednej, potom bude slučka iterovať 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 bude faktoriálny výsledok 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, ak je vstupné číslo väčšie ako 0
ak n> = 1:
# Iterujte slučku na viac čísel od 1 do n
pre i v rozsahu (1, n + 1):
skutočnosť = skutočnosť * i
# Vytlačte si fcatoriálny výsledok
print ("Faktoriál% d je% d.„% (n, skutočnosť))
inak:
ak n == 0:
# Vytlačte výsledok 0!
print ("Faktoriál", n, "je")
inak:
# Vytlačte chybové hlásenie
print ("Musíte zadať akékoľvek kladné číslo")

Výkon

Skript sa vykoná trikrát, podľa nasledujúceho screenshotu. Skript sa vykoná pre vstupné hodnoty 1, 6 a -8. Výstupy sa zobrazujú podľa vstupných hodnôt.

Príklad 3: Vyhľadajte faktoriál čísla pomocou rekurzívnej funkcie

Funkcia, ktorá sa 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 prijatí celého čísla ako vstupu, rekurzívnej funkcie factorial_resursive () sa bude volať 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 viac ako 1, potom sa funkcia bude nazývať odčítaním argumentu o 1 znova a znova, až kým nevypočíta výsledok faktoriálu.

#!/ usr / bin / env python3
# Vezmite číselnú hodnotu
number = int (vstup ("Zadajte ľubovoľné číslo:"))
# Definujte rekurzívnu funkciu na výpočet faktoriálu
def factororial_recursive (n):
# Uložte faktoriálny výsledok 0 a 1
ak n == 0 alebo n == 1:
výsledok = 1
# Uložte vstupné číslo pre negatívnu hodnotu
elif n < 1:
výsledok = n
# Nájdite faktoriálny výsledok rekurzívnym spôsobom
inak:
result = n * factororial_recursive (n-1)
# Vrátiť výsledok
návratový výsledok
# Zavolajte funkciu
fact = factororial_recursive (číslo)
# Výsledok vytlačte na kladné číslo
ak skutočnosť> = 0:
print ("Faktoriál% d je% d.„% (číslo, skutočnosť))
inak:
# Vytlačte správu pre záporné číslo
print ("Musíte zadať akékoľvek kladné číslo")

Výkon

Na nasledujúcej snímke obrazovky sa skript vykoná 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 iba kontrolujú, či je číslo kladné alebo záporné. Nasledujúci skript počíta faktoriál pomocou zabudovanej funkcie faktoriál () s obsluhou výnimiek. Ak užívateľ zadá akýkoľvek vstup bez celočíselnej hodnoty, vygeneruje sa výnimka a vytlačí sa chybové hlásenie.

#!/ usr / bin / env python3
# Import matematického modulu
import matematiky
# Odporujte bloku vyskúšania
skúste:
# Vezmite číselnú hodnotu
n = int (vstup ("Zadajte akékoľvek číslo:"))
ak n> = 0:
# Zistite faktoriál
skutočnosť = matematika.faktoriál (n)
# Vytlačte výsledok faktoriálu
print ("Faktoriál% d je% d"% (n, fakt))
inak:
# Zvýšte výnimku, ak je číslo záporné
zvýšiť výnimku („Musíte zadať akékoľvek kladné číslo“)
# vypíše chybové hlásenie pre zlomkový vstup
okrem ValueError:
print ("Musíte zadať celé číslo")
# Chybové hlásenie pre negatívny vstup
okrem Výnimky ako e:
print ('Chyba:% s'% e)

Výkon

Skript sa vykoná trikrát s hodnotami h, -3 a 7 na nasledujúcom obrázku. 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. Koncept faktoriálu čísla a metód výpočtu Pythonu na základe Pythonu by mal byť čitateľovi po prečítaní tohto tutoriálu jasný.

Recenzia bezdrôtovej myši Microsoft Sculpt Touch
Nedávno som čítal o Microsoft Sculpt Touch bezdrôtová myš a rozhodol sa ju kúpiť. Po chvíli používania som sa rozhodol s ním podeliť o svoje skúsenost...
Trackpad a ukazovateľ myši AppyMouse na obrazovke pre tablety so systémom Windows
Používateľom tabletov často chýba ukazovateľ myši, najmä keď notebooky bežne používajú. Dotykové smartphony a tablety majú veľa výhod a jediným obmedz...
Stredné tlačidlo myši nefunguje v systéme Windows 10
The stredné tlačidlo myši pomáha vám prechádzať dlhé webové stránky a obrazovky s množstvom údajov. Ak sa to zastaví, budete nakoniec používať klávesn...