Python: вычислить факториал нецелого числа

мне интересно, есть ли быстрый, Питонический способ вычисления факториалов нецелых чисел (например, 3.4)? Конечно, булт-Ин на Math модуль доступен, но он работает только для интегралов (меня не волнуют отрицательные числа здесь).

2 ответов


вы хотели бы использовать math.gamma(x).

на Гамма-функция является расширением факторной функции до вещественных чисел.

обратите внимание, что функция смещается на 1 по сравнению с факторной функцией. Так что math.factorial(n) is math.gamma(n + 1).


в Python 2.7 или 3.2, вы можете использовать math.gamma(x + 1). В более старых версиях вам понадобится внешняя библиотека, такая как SciPy.