Psaní faktoriálního programu v Pythonu

Writing Factorial Program Python



Faktoriál čísla je číslo, které získáte po vynásobení všech čísel od 1 k tomuto číslu. Faktoriál čísla je označen symbolem „!“. Pokud například chceme zjistit faktoriál 4, označený 4 !, pak by výsledek byl 1x2x3x4 = 24. Existuje mnoho způsobů, jak zjistit faktoriál čísla. Faktoriál lze v Pythonu určit pomocí vestavěné funkce pro smyčkové a rekurzivní funkce. Tento tutoriál ukazuje, jak lze faktoriál čísla určit pomocí různých funkcí Pythonu.

Příklad 1: Najděte faktoriál čísla pomocí vestavěné funkce

Python má vestavěnou funkci s názvem faktoriál () pod matematika modul. Následující skript vypočítá faktoriál libovolného čísla pomocí vestavěné faktoriál () funkce. V tomto skriptu bude jako vstup bráno platné platné celé číslo a funkce vypočítá faktoriální hodnotu tohoto čísla a vytiskne faktoriální hodnotu vstupního čísla.







#!/usr/bin/env python3
# Importujte matematický modul
import matematika
# Vezměte libovolné číselné hodnoty
n= int(vstup('Zadejte libovolné číslo:'))
# Zjistěte faktoriál
skutečnost= matematika.faktoriál(n)
# Vytiskněte výsledek faktoriálu
tisk('Faktoriál %d je %d'%(n,skutečnost))

Výstup



Po spuštění skriptu je 3 zadáno jako vstupní číslo a výstup 3 !, 6 je vytištěn.







Příklad 2: Najděte faktoriál čísla pomocí smyčky

Následující skript ukazuje, jak můžete vypočítat faktoriál libovolného čísla bez použití jakékoli vestavěné funkce v Pythonu. Tady, pro smyčka se používá k výpočtu faktoriálu čísla. Jakákoli vstupní celočíselná hodnota bude převzata a uložena jako pojmenovaná proměnná n . Proměnná s názvem skutečnost slouží k uložení faktoriálního výsledku a je inicializován na 1 před vstupem do smyčky. Pokud hodnota n je více než jedna nebo se rovná jedné, pak se smyčka opakuje 1 až n+1krát a vypočítá faktoriální hodnotu. Jinak smyčka zkontroluje, zda je hodnota n rovna 0 nebo záporná. Pokud je hodnota n 0, pak faktoriální výsledek bude 1; a pokud je hodnota n záporné celé číslo, vytiskne se chybová zpráva.

#!/usr/bin/env python3

# Vezměte číselnou hodnotu a uložte do n
n= int(vstup('Zadejte libovolné číslo:'))
# Inicializujte proměnnou
skutečnost= 1
# Zjistěte faktoriál, pokud je vstupní číslo větší než 0
-lin> = 1:
# Opakujte smyčku na násobení čísel v rozmezí 1 až n
prov rozsah (1,n+1):
skutečnost=fakt * i
# Vytiskněte ftoriální výsledek
tisk('Faktoriál %d je %d.'%(n,skutečnost))
jiný:
-lin== 0:
# Vytiskněte výsledek 0!
tisk('Faktoriál',n, ' je ')
jiný:
# Vytiskněte chybovou zprávu
tisk(„Musíte zadat kladné číslo“)

Výstup



Podle následujícího snímku obrazovky se skript spustí třikrát. Skript je spuštěn pro vstupní hodnoty 1, 6 a -8. Výstupy jsou zobrazeny podle vstupních hodnot.

Příklad 3: Vyhledejte faktoriál čísla pomocí rekurzivní funkce

Funkce, která se při provádění funkce sama nazývá, se nazývá rekurzivní funkce. Následující skript ukazuje způsob výpočtu faktoriálu libovolného celočíselného čísla pomocí rekurzivní funkce. Po převzetí celého čísla jako vstupu rekurzivní funkce factorial_resursive () bude volán se vstupní hodnotou jako argument. Pokud je vstupní hodnota 0 nebo 1, vrátí se 1. Pokud je vstupní hodnota záporná, bude vrácena hodnota argumentu. Pokud je vstupní hodnota větší než 1, pak se funkce sama zavolá tak, že argument odečte znovu od 1, dokud nevypočítá výsledek faktoriálu.

#!/usr/bin/env python3
# Vezměte číselnou hodnotu
číslo= int(vstup('Zadejte libovolné číslo:'))
# Definujte rekurzivní funkci pro výpočet faktoriálu
deffactorial_recursive(n):
# Uložte faktoriální výsledek 0 a 1
-lin== 0 nebon== 1:
výsledek= 1
# Uložte vstupní číslo pro negetivní hodnotu
elifn< 1:
výsledek=n
# Rekurzivně najděte faktoriální výsledek
jiný:
výsledek=n*faktoriál_rekurzivní(n-1)
# Vraťte výsledek
vrátit sevýsledek
# Zavolejte funkci
skutečnost=faktoriální_rekurzivní(číslo)
# Vytiskněte výsledek pro kladné číslo
-liskutečnost> = 0:
tisk('Faktoriál %d je %d.'%(číslo,skutečnost))
jiný:
# Vytiskněte zprávu pro záporné číslo
tisk(„Musíte zadat kladné číslo“)

Výstup

Na následujícím snímku obrazovky je skript spuštěn třikrát s hodnotami 1, -5 a 8.

Příklad 4: Najděte faktoriál čísla se zpracováním výjimek

Výše uvedené tři skripty pouze kontrolují, zda je číslo kladné nebo záporné. Následující skript vypočítá faktoriál pomocí vestavěné funkce factorial () se zpracováním výjimek. Pokud uživatel zadá jakýkoli vstup bez celočíselné hodnoty, bude vygenerována výjimka a vytištěna chybová zpráva.

#!/usr/bin/env python3
# Importujte matematický modul
import matematika
# Vzdorujte bloku try
Snaž se:
# Vezměte číselnou hodnotu
n= int(vstup('Zadejte libovolné číslo:'))
-lin> = 0:
# Zjistěte faktoriál
skutečnost= matematika.faktoriál(n)
# Vytiskněte výsledek faktoriálu
tisk('Faktoriál %d je %d'%(n,skutečnost))
jiný:
# Pokud je číslo záporné, zvyšte výjimku
vyzdvihnout Výjimka(„Musíte zadat kladné číslo“)
# vytiskněte chybovou zprávu pro zlomkové zadání
až na ValueError:
tisk('Musíte zadat celé číslo')
# Vytiskněte chybovou zprávu pro negativní vstup
až na Výjimka tak jakoA:
tisk('Chyba:%s'%A)

Výstup

Skript je spuštěn třikrát s hodnotami h, -3 a 7 na následujícím snímku obrazovky. Zde se vygeneruje výjimka pro hodnotu „h“.

Závěr

Tento tutoriál ukazuje některé z různých způsobů, jak můžete vypočítat faktoriální hodnotu čísla v Pythonu. Po přečtení tohoto tutoriálu by měl být čtenáři jasná koncepce faktoriálu čísla a metody pro výpočet faktoriálu založené na Pythonu.