用Python写一个递归函数并解析
时间: 2024-05-07 13:22:16 浏览: 92
好的,下面是一个递归函数的示例代码:
``` python
def factorial(n):
"""
计算n的阶乘
"""
if n == 1:
return 1
else:
return n * factorial(n-1)
```
这个函数用来计算一个正整数 `n` 的阶乘。如果 `n` 等于 1,直接返回 1;否则返回 `n` 与 `factorial(n-1)` 的乘积。在第二种情况下,`factorial(n-1)` 也会调用自身,进入递归调用。当 `n` 等于 1 时,递归调用结束,递归函数开始一级一级地返回,直到返回到最开始的调用处。
例如,调用 `factorial(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)))
120
```
最后的结果是 120,即 5 的阶乘。
阅读全文