Mi chiedo se esiste un modo rapido, pitonico, per calcolare i fattoriali dei numeri non interi (ad es. 3.4)? Naturalmente, la funzione bult-in factorial()
nel modulo Math
è disponibile, ma funziona solo per gli integrali (non mi interessano i numeri negativi qui).Python: Calcola fattoriale di un numero non integrale
7
A
risposta
11
Che ci si vuole utilizzare math.gamma(x)
.
Il gamma function è un'estensione della funzione fattoriale di numeri reali.
Si noti che la funzione è spostata di 1 rispetto alla funzione fattoriale. Quindi math.factorial(n)
è math.gamma(n + 1)
.
3
In Python 2.7 o 3.2, è possibile utilizzare math.gamma(x + 1)
. Nelle versioni precedenti, avresti bisogno di una libreria esterna come SciPy.
Bello, grazie! – Julie