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
7
A
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)
là 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.
Đẹp nhất - cảm ơn! – Julie