用python编写函数求斐波那契数列的前n项(n不超过20)。斐波那契数列指的这样一个数列:1、1、2、3、5、8、13、21、34,即前两个数都为 1,从第三个数起每一个数为前两个数之和。
时间: 2024-11-25 16:31:48 浏览: 47
可以使用Python编写一个递归或循环的方式来生成斐波那契数列的前n项。以下是递归版本和循环版本的函数:
### 递归版本
```python
def fibonacci_recursive(n):
fib_sequence = []
if n <= 0:
return "输入值必须大于0"
elif n == 1:
fib_sequence.append(1)
elif n == 2:
fib_sequence.extend([1, 1])
else:
fib_sequence.append(1)
fib_sequence.append(1)
for _ in range(2, n):
fib_sequence.append(fib_sequence[-1] + fib_sequence[-2])
return fib_sequence[:n]
n = 20
fibonacci_recursive(n)
```
### 循环版本
```python
def fibonacci_iterative(n):
fib_sequence = [1, 1]
if n <= 0:
return "输入值必须大于0"
while len(fib_sequence) < n:
fib_sequence.append(fib_sequence[-1] + fib_sequence[-2])
return fib_sequence[:n]
n = 20
fibonacci_iterative(n)
```
在这两个函数中,我们分别利用了递归(每次调用自身来计算下一个数)和迭代(逐步累加当前的两个数)的方式生成斐波那契数列。由于递归可能会导致性能问题,当n较大时,建议使用迭代版本。
阅读全文
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![c](https://img-home.csdnimg.cn/images/20250102104920.png)
![docx](https://img-home.csdnimg.cn/images/20241231044901.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)