Python递归函数的例子
时间: 2023-06-04 15:02:29 浏览: 121
好的,可以举个例子。比如计算斐波那契数列的第n项,可以使用递归函数实现:
```python
def fibonacci(n):
if n == 0:
return 0
elif n == 1:
return 1
else:
return fibonacci(n-1) + fibonacci(n-2)
```
这个函数会在计算fibonacci(n)时递归调用fibonacci(n-1)和fibonacci(n-2),直到n为0或1时返回相应的值。
相关问题
Python递归函数的例子并加上注释
当然,我很乐意回答你的问题!以下是一个Python递归函数示例及其注释:
```
# 定义一个递归函数
def factorial(n):
# 如果n等于0或1,则返回1
if n == 0 or n == 1:
return 1
else:
# 递归调用并返回n乘以(n-1)的阶乘
return n * factorial(n-1)
# 调用递归函数并打印结果
print(factorial(5)) # 120
```
解释如下:
1. 首先,我们定义了一个名为“factorial”的递归函数,以计算给定数的阶乘。
2. 在函数中,我们检查n是否等于0或1,如果是,则直接返回1。
3. 如果n不等于0或1,则递归调用我们的函数,传递n-1作为参数,并将结果乘以n。这一步最终就是要求n的阶乘。
4. 当递归到n=1或n=0时,会开始一层一层地从递归中返回结果,直到最开始的函数调用也返回结果。
5. 最后,我们在主函数中调用递归函数,并打印计算出的结果。
希望这个示例有帮助,如果你有任何其他问题,请随时提出。
python递归函数的练手例子
### Python递归函数练习示例
#### 斐波那契数列
斐波那契数列是一个经典的递归例子,其中每一项都是前两项之和。
```python
def fibonacci(n):
if n <= 0:
return "输入应为正整数"
elif n == 1 or n == 2:
return 1
else:
return fibonacci(n - 2)
print(fibonacci(10)) # 输出第10个斐波那契数[^1]
```
#### 计算阶乘
另一个常见的递归应用是计算给定数字的阶乘。
```python
def factorial(x):
if x == 1:
return 1
else:
return (x * factorial(x-1))
num = 5
print("The factorial of", num, "is", factorial(num)[^3])
```
#### 判断回文字符串
此功能用于验证一个词是否可以从前往后读也可以从后往前读一样。
```python
def is_palindrome(word):
word = ''.join(e for e in word if e.isalnum()).lower()
if len(word) < 2:
return True
elif word[0] != word[-1]:
return False
else:
return is_palindrome(word[1:-1])
test_words = ["racecar", "hello"]
for word in test_words:
print(f"'{word}' 是回文吗? {is_palindrome(word)}"[^4])
```
阅读全文