python 中计算阶乘的三种方法:使用内置的 math.factorial() 函数。使用 for 循环手工计算。使用 reduce() 函数(python 2)。
如何计算 Python 中的阶乘
在 Python 中,计算阶乘十分简单。阶乘表示连续相乘一组整数,例如,5!等于 5 x 4 x 3 x 2 x 1 = 120。
方法 1:使用 math.factorial()
Python 提供了一个内置的 math 模块,其中包含一个名为 factorial() 的函数,可直接计算阶乘。例如:
import math
result = math.factorial(5)
print(result) # 输出:120
方法 2:使用 for 循环
如果你更喜欢手写代码,也可以使用 for 循环来计算阶乘。以下是一个示例:
def factorial(n):
""" 计算 n 的阶乘 """
result = 1
for i in range(1, n + 1):
result *= i
return result
result = factorial(5)
print(result) # 输出:120
方法 3:使用 reduce()
对于 Python 2,还可以使用 reduce() 函数来计算阶乘:
from functools import reduce
result = reduce(lambda x, y: x * y, range(1, 6))
print(result) # 输出:120
注意事项
- 对于非负整数 n,阶乘总是一个正整数。
- 对于n = 0,阶乘定义为 1。
- Python 会对过大的阶乘返回一个 OverflowError 异常。