2012-04-07 186 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