logo

factorial() în Python

Nu mulți oameni știu, dar python oferă o funcție directă care poate calcula factorialul unui număr fără a scrie întregul cod pentru calculul factorial.

Metodă naivă de calcul 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)>



>

>

Ieșire

The factorial of 23 is : 25852016738884976640000>

Complexitatea timpului: Pe)
Spațiu auxiliar: O(1)

Folosind math.factorial()

Această metodă este definită în matematica modul de python. Deoarece are implementare internă de tip C, este rapid.

actor berbec
 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>))>

>

>

Ieșire

The factorial of 23 is : 25852016738884976640000>

Complexitatea timpului: Pe)
Spațiu auxiliar: O(1)

Excepții în math.factorial()

    Dacă numărul dat este negativ:

Python3




# Cod Python pentru a demonstra math.factorial()
# Excepții (număr non-integral)

import matematică

print(Factorialul de 5,6 este : , final=)

# ridică o excepție
imprimare(math.factorial(5.6))

>

>

Ieșire:

Traceback (most recent call last): File '/home/f29a45b132fac802d76b5817dfaeb137.py', line 9, in print (math.factorial(-5)) ValueError: factorial() not defined for negative values>
    Dacă numărul dat este o valoare non-integrală:

Python3




>

>

Ieșire:

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