使用普通的for循环
def factorial(n):result = 1for i in range(1, n + 1):result *= ireturn resultprint(factorial(5)) 输出:120
使用递归函数
def factorial(n):if n == 0 or n == 1:return 1else:return n * factorial(n - 1)print(factorial(5)) 输出:120
使用内置的`math.factorial()`函数
import mathprint(math.factorial(5)) 输出:120

使用`reduce()`函数
from functools import reducedef factorial(n):return reduce(lambda x, y: x * y, range(1, n + 1))print(factorial(5)) 输出:120
使用while循环
def factorial(n):result = 1i = 1while i <= n:result *= ii += 1return resultprint(factorial(5)) 输出:120
以上方法都可以用来计算阶乘,你可以根据具体的需求和个人偏好选择合适的方法
