欢迎访问宙启技术站
智能推送

如何递归地实现阶乘函数(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。