Python:计算非整数的阶乘

时间:2012-04-07 17:45:42

标签: python floating-point factorial

我想知道是否有一种快速的Pythonic方法来计算非整数的因子(例如,3.4)?当然,factorial()模块中的bult-in Math函数是可用的,但它仅适用于积分(我不关心负数)。

2 个答案:

答案 0 :(得分:13)

您想使用math.gamma(x).

gamma function是阶乘函数对实数的扩展。

请注意,与阶乘函数相比,函数移位1。因此math.factorial(n)math.gamma(n + 1)

答案 1 :(得分:3)

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