logo

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.

supw
 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>