factorial() i Python

Det är inte många som vet, men python erbjuder en direkt funktion som kan beräkna faktorialen för ett tal utan att skriva hela koden för att beräkna faktorial.

Naiv metod för att beräkna factorial

Python3




# Python code to demonstrate naive method> # to compute factorial> n> => 23> fact> => 1> for> i> in> range> (> 1> , n> +> 1> ):> > fact> => fact> *> i> print> (> 'The factorial of 23 is : '> , end> => '')> print> (fact)>

Produktion

The factorial of 23 is : 25852016738884976640000 

Tidskomplexitet: På)
Hjälputrymme: O(1)

Använder math.fatorial()

Denna metod definieras i matematik modul av python. Eftersom den har intern implementering av C-typ är den snabb.

 math.factorial(x) Parameters : x : The number whose factorial has to be computed. Return value : Returns the factorial of desired number. Exceptions :  Raises Value error if number is negative or non-integral. 

Python3




# Python code to demonstrate math.factorial()> import> math> print> (> 'The factorial of 23 is : '> , end> => '')> print> (math.factorial(> 23> ))>

Produktion

The factorial of 23 is : 25852016738884976640000 

Tidskomplexitet: På)
Hjälputrymme: O(1)

Undantag i math.factorial()

    Om det angivna siffran är negativ:

Python3




# Python-kod för att demonstrera math.fatorial()
# Undantag ( Icke-integralt tal )

importera matematik

print(Faktoriet för 5.6 är: , end=)

# höjer undantag
print(math.fatorial(5.6))

Produktion:

Traceback (most recent call last): File '/home/f29a45b132fac802d76b5817dfaeb137.py', line 9, in print (math.factorial(-5)) ValueError: factorial() not defined for negative values 
    Om det angivna numret är icke-integralvärde:

Python3




Produktion:

Traceback (most recent call last): File '/home/3987966b8ca9cbde2904ad47dfdec124.py', line 9, in print (math.factorial(5.6)) ValueError: factorial() only accepts integral values