Python递归函数阶乘
时间: 2023-08-14 09:30:46 浏览: 23
好的,以下是Python实现递归函数求阶乘的代码:
```python
def factorial(n):
if n == 0:
return 1
else:
return n * factorial(n-1)
```
这个函数接受一个正整数n作为参数,如果n等于0,则返回1,否则返回n乘以n-1的阶乘(即调用自身并传入n-1作为参数)。这个过程一直递归下去,直到n等于0时返回1,结束递归。
相关问题
python递归函数计算阶乘和
以下是Python递归函数计算阶乘和的代码示例:
```python
def factorial(n):
if n == 0:
return 1
else:
return n * factorial(n-1)
def sum_of_factorial(n):
if n == 0:
return 1
else:
return factorial(n) + sum_of_factorial(n-1)
print(sum_of_factorial(5)) # 输出结果为 153
```
在上面的代码中,`factorial` 函数用于计算阶乘,`sum_of_factorial` 函数则是通过递归调用 `factorial` 函数来计算阶乘和。当 `n` 为 0 时,阶乘和即为 1;否则,阶乘和等于当前阶乘与前面所有阶乘的和。最后,我们调用 `sum_of_factorial` 函数并将参数设为 5,输出结果为 153。
python递归求阶乘
以下是Python递归求阶乘的示例代码:
```python
def factorial(n):
if n == 0 or n == 1:
return 1
else:
return n * factorial(n-1)
# 测试
print(factorial(5)) # 输出120
```
在上述代码中,函数 `factorial(n)` 判断输入的 `n` 是否为0或1,若是则返回1,否则返回 `n` 与 `factorial(n-1)` 的乘积,即 `n! = n * (n-1)!`。在递归计算 `factorial(n-1)` 时,逐层递归到 `n=1` 或 `n=0` 时,开始逐层返回结果,最终得到 `n!` 的值。
相关推荐












