如何递归地实现阶乘函数(factorial)的Python代码
发布时间:2023-07-04 21:46:10
递归实现阶乘函数的Python代码如下:
def factorial(n):
if n == 0: # 如果输入为0,则直接返回1
return 1
else:
return n * factorial(n-1) # 递归调用自身
这段代码实现了一个名为factorial的函数,该函数接受一个整数n作为输入,返回n的阶乘。首先判断输入是否为0,如果是,则直接返回1;否则,通过递归调用自身来计算阶乘。
在递归调用中,函数将n与n-1相乘,然后再次调用自身传入n-1作为参数,直到n等于0时递归停止。举个例子,如果输入为5,函数的执行流程如下:
factorial(5) = 5 * factorial(4)
= 5 * (4 * factorial(3))
= 5 * (4 * (3 * factorial(2)))
= 5 * (4 * (3 * (2 * factorial(1))))
= 5 * (4 * (3 * (2 * 1)))
= 5 * (4 * (3 * 2))
= 5 * (4 * 6)
= 5 * 24
= 120
因此,factorial(5)的结果为120。
