2012-04-07 34 views
7

Tôi tự hỏi nếu có một cách nhanh chóng, Pythonic để tính toán giai thừa của các số không tách rời (ví dụ: 3.4)? Tất nhiên, chức năng bult-in factorial() trong mô-đun Math có sẵn, nhưng nó chỉ hoạt động cho tích phân (Tôi không quan tâm về số âm ở đây).Python: Tính giai thừa của một số không tách rời

Trả lời

11

Bạn muốn sử dụng math.gamma(x).

Các gamma function là một phần mở rộng của hàm giai thừa với các số thực.

Lưu ý rằng hàm được dịch chuyển 1 khi so sánh với hàm giai thừa. Vì vậy, math.factorial(n)math.gamma(n + 1).

3

Trong Python 2.7 hoặc 3.2, bạn có thể sử dụng math.gamma(x + 1). Trong các phiên bản cũ hơn, bạn cần một số thư viện bên ngoài như SciPy.

+0

Đẹp nhất - cảm ơn! – Julie

Các vấn đề liên quan