【发布时间】:2012-04-07 17:45:41
【问题描述】:
我想知道是否有一种快速的 Pythonic 方法来计算非整数的阶乘(例如 3.4)?当然,Math 模块中内置的factorial() 函数是可用的,但它只适用于积分(这里我不关心负数)。
【问题讨论】:
标签: python floating-point factorial
我想知道是否有一种快速的 Pythonic 方法来计算非整数的阶乘(例如 3.4)?当然,Math 模块中内置的factorial() 函数是可用的,但它只适用于积分(这里我不关心负数)。
【问题讨论】:
标签: python floating-point factorial
你想使用math.gamma(x).
gamma function 是阶乘函数对实数的扩展。
请注意,与阶乘函数相比,该函数移动了 1。所以math.factorial(n) 是math.gamma(n + 1)。
【讨论】:
在 Python 2.7 或 3.2 中,您可以使用math.gamma(x + 1)。在旧版本中,您需要一些外部库,例如 SciPy。
【讨论】: