Python:计算非整数的阶乘

8

我想知道是否有一种快速、Pythonic的方法来计算非整数(例如3.4)的阶乘?当然,Math模块中的内置factorial()函数可用,但它只适用于整数(这里不考虑负数)。

2个回答

17
你需要使用 math.gamma(x).Gamma函数是阶乘函数对实数的扩展。注意,与阶乘函数相比,该函数向右平移1。因此,math.factorial(n)math.gamma(n + 1)

3

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接