2012-04-07 9 views
7

Zastanawiam się, czy istnieje szybki, Pythonowy sposób obliczania silni liczb niecałkowych (np. 3.4)? Oczywiście dostępna jest funkcja factorial() w module Math, ale działa ona tylko w przypadku całek (tutaj nie interesują mnie liczby ujemne).Python: Oblicz silnię z niecałkowitego numeru

Odpowiedz

11

pewnością chcesz użyć math.gamma(x).

gamma function jest rozszerzeniem funkcji silni dla liczb rzeczywistych.

Należy zauważyć, że funkcja jest przesunięta o 1 w porównaniu do funkcji silni. Tak więc math.factorial(n) to math.gamma(n + 1).

3

W Pythonie 2.7 lub 3.2 można użyć math.gamma(x + 1). W starszych wersjach potrzebujesz zewnętrznej biblioteki, takiej jak SciPy.

+0

Niezły - dzięki! – Julie