递归方法
def factorial_recursive(n):
if n == 0:
return 1
else:
return n * factorial_recursive(n-1)
循环方法(使用for循环)
def factorial_iterative(n):
result = 1
for i in range(1, n+1):
result *= i
return result
使用`reduce()`函数
from functools import reduce
def factorial_reduce(n):
return reduce(lambda x, y: x*y, range(1, n+1))
使用`math.factorial()`函数
import math
def factorial_math(n):
return math.factorial(n)