2012-04-07 236 views
7

我想知道是否有快速,Pythonic方法來計算非整數(例如3.4)的階乘?當然,Math模塊中的功能factorial()是可用的,但它只適用於積分(我不在乎負數)。Python:計算非整數的階乘

回答

11

你想使用math.gamma(x).

gamma function是階乘函數實數的擴展。

請注意,與階乘函數相比,函數移位1。所以math.factorial(n)math.gamma(n + 1)

3

在Python 2.7或3.2中,您可以使用math.gamma(x + 1)。在較早的版本中,您需要一些外部庫,如SciPy。

+0

不錯 - 謝謝! – Julie 2012-04-07 17:49:42