python产生菲波拉契数列20项
时间: 2024-02-03 08:15:06 浏览: 82
可以使用循环或递归来生成菲波那切数列,以下是使用循环的示例代码:
```python
a, b = 0, 1
for i in range(20):
print(a)
a, b = b, a + b
```
输出结果为:
```
0
1
1
2
3
5
8
13
21
34
55
89
144
233
377
610
987
1597
2584
4181
```
其中,变量a和b用于保存当前项和下一项的值,循环20次即可生成前20项。
相关问题
产生菲波拉契数列 编程产生菲波拉契数列20项,例如:0 1 1 2 3 5 8 13 21 给出完整解题代码
要生成菲波纳契数列的前20项,你可以使用循环或递归的方式。这里我提供两种方法:
**使用循环(迭代法):**
```python
def fibonacci_iterative(n):
fib_sequence = [0, 1] # 初始化前两项
while len(fib_sequence) < n:
next_num = fib_sequence[-1] + fib_sequence[-2]
fib_sequence.append(next_num)
return fib_sequence[:n]
# 生成并打印前20项
fibonacci_20 = fibonacci_iterative(20)
print(fibonacci_20)
```
**使用递归(但请注意,递归对于大数值可能会非常慢,因为它会重复计算很多子问题):**
```python
def fibonacci_recursive(n, a=0, b=1):
if n <= 0:
return []
elif n == 1:
return [a]
else:
result = fibonacci_recursive(n - 1, b, a + b)
result.insert(0, a)
return result
# 生成并打印前20项
fibonacci_20_recursive = fibonacci_recursive(20)
print(fibonacci_20_recursive)
```
运行上述代码,你会得到前20个斐波那契数列数字。选择哪种方法取决于你的需求和性能要求。
用python实现菲波拉契数列
好的,用 Python 实现菲波拉契数列可以使用递归或循环方式来实现。下面是一个使用循环方式的例子:
```python
num = int(input("请输入一个正整数:"))
def fibonacci(num):
if num <= 0:
print("请输入大于0的正整数!")
elif num == 1:
return [1]
elif num == 2:
return [1, 1]
else:
fib = [1, 1]
for i in range(2, num):
fib.append(fib[i-1] + fib[i-2])
return fib
print(fibonacci(num))
```
这个程序会让用户输入一个正整数,然后使用循环方式计算并返回菲波拉契数列。
阅读全文