用python写一个递归
时间: 2023-02-21 07:47:22 浏览: 36
很高兴能为您服务!下面是一个简单的python递归示例:
def recursion(n):
if n == 1:
return 1
else:
return n * recursion(n-1)
print(recursion(5)) # 120
相关问题
使用python写一个递归算法
当然可以!下面是一个使用Python编写的递归算法示例,用于计算一个数的阶乘:
```python
def factorial(n):
if n == 0:
return 1
else:
return n * factorial(n-1)
# 测试
num = 5
print("Factorial of", num, "is", factorial(num))
```
在上述代码中,我们定义了一个名为`factorial`的递归函数。当输入的参数`n`为0时,函数直接返回1。否则,函数会调用自身并将`n-1`作为参数传入,然后将结果与`n`相乘返回。
请注意,递归算法必须具备两个关键要素:基本情况(在这里是`n == 0`)和递归调用(在这里是`n * factorial(n-1)`)。没有基本情况,递归函数将陷入无限循环。没有递归调用,递归函数将无法继续向下进行计算。
希望这个例子对你有所帮助!如果你有其他问题,请随时提问。
用python 写一个递归函数
好的,下面是一个简单的递归函数示例,它计算阶乘:
```python
def factorial(n):
if n == 1:
return 1
else:
return n * factorial(n-1)
```
这个函数将输入的整数 n 作为参数,并计算 n 的阶乘。如果 n 等于 1,则返回 1;否则,它将调用自身来计算 (n-1) 的阶乘,并将结果乘以 n。这个过程一直持续到 n 等于 1,然后逐层返回结果,最终得到 n 的阶乘的值。
例如,如果我们调用 `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
```
因此,`factorial(5)` 的结果是 120。
阅读全文