python: 编写函数求斐波拉契数列的前20项。试用递归函数实现。
时间: 2023-06-07 07:11:20 浏览: 181
好的,我可以回答你的问题。
下面是Python代码实现求斐波那契数列的前 20 项:
```python
def fibonacci(n):
if n == 1 or n==2:
return 1
else:
return fibonacci(n-1) + fibonacci(n-2)
# 计算前20项斐波那契数列
for i in range(1, 21):
print(fibonacci(i), end=' ')
```
在上面的代码中,我们使用递归函数 `fibonacci(n)` 计算第 n 个斐波那契数,当 `n` 等于 1 或 2 的时候,函数返回 1,否则递归求解。
最后使用 `for` 循环遍历前 20 个斐波那契数列,并输出结果。
相关问题
python使用递归方式求斐波拉契数列
Python也可以使用递归的方式求解斐波那契数列,示例代码如下:
```python
def fibonacci(n):
if n <= 0:
return 0
elif n == 1:
return 1
else:
return fibonacci(n-1) + fibonacci(n-2)
# 测试
print(fibonacci(0)) # 0
print(fibonacci(1)) # 1
print(fibonacci(10)) # 55
```
这个函数接收一个正整数n作为参数,如果n小于等于0,则返回0;如果n等于1,则返回1;否则返回fibonacci(n-1)加上fibonacci(n-2)的值。这个函数会一直递归调用自己,直到n小于等于1,最终返回结果。
编写python程序:编写一个函数,参数为一个整数n。利用递归函数获取斐波拉契数列中的第n个数并返回。
下面是一个获取斐波拉契数列中第n个数的递归函数的Python实现代码:
```python
def fibonacci(n):
if n <= 1:
return n
else:
return fibonacci(n-1) + fibonacci(n-2)
```
这个函数的实现思路是,如果n小于等于1,则直接返回n,因为斐波拉契数列的前两个数是0和1。如果n大于1,则使用递归调用来计算第n个数,即计算前两个数之和。需要注意的是,由于递归调用会重复计算某些数,因此对于大的n值,函数可能会很慢甚至会导致栈溢出。因此,对于大的n值,最好使用迭代方法实现斐波拉契数列的计算。
阅读全文
相关推荐














