2012-04-07 11 views
7

Ich frage mich, ob es eine schnelle, pythonische Methode gibt, um Fakultäten von nicht ganzzahligen Zahlen (z. B. 3,4) zu berechnen? Natürlich ist die bult-in factorial() Funktion in dem Math Modul verfügbar, aber es funktioniert nur für Integrale (ich interessiere mich nicht für negative Zahlen hier).Python: Berechne Fakultät einer nicht-ganzzahligen Zahl

Antwort

11

Sie würden wollen math.gamma(x).

Die gamma function ist eine Erweiterung der Fakultätsfunktion zu reellen Zahlen verwenden.

Beachten Sie, dass die Funktion im Vergleich zur faktoriellen Funktion um 1 verschoben ist. So ist math.factorial(n)math.gamma(n + 1).

3

In Python 2.7 oder 3.2 können Sie math.gamma(x + 1) verwenden. In älteren Versionen benötigen Sie eine externe Bibliothek wie SciPy.

+0

Schöne - danke! – Julie