logo

fattoriale() in Python

Non molte persone lo sanno, ma Python offre una funzione diretta in grado di calcolare il fattoriale di un numero senza scrivere l'intero codice per il calcolo fattoriale.

Metodo ingenuo per il calcolo fattoriale



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



>

>

Produzione

The factorial of 23 is : 25852016738884976640000>

Complessità temporale: SU)
Spazio ausiliario: O(1)

Utilizzando math.factorial()

Questo metodo è definito in matematica modulo di Python. Poiché ha un'implementazione interna di tipo C, è veloce.

rinominare nella directory Linux
 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>))>

>

>

Produzione

The factorial of 23 is : 25852016738884976640000>

Complessità temporale: SU)
Spazio ausiliario: O(1)

Eccezioni in math.factorial()

    Se il numero indicato è negativo:

Python3




# Codice Python per dimostrare math.factorial()
# Eccezioni (numero non intero)

importare la matematica

print(Il fattoriale di 5.6 è: , end=)

# solleva un'eccezione
print(math.fattoriale(5.6))

>

>

Produzione:

Traceback (most recent call last): File '/home/f29a45b132fac802d76b5817dfaeb137.py', line 9, in print (math.factorial(-5)) ValueError: factorial() not defined for negative values>
    Se il numero indicato è un valore non integrale:

Python3




>

>

Produzione:

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