如何用Python编写一个计算Fibonacci数列的程序?
时间: 2024-10-22 10:15:39 浏览: 42
在Python中,编写一个计算Fibonacci数列的简单程序可以使用递归、循环或者生成器函数。这里给出几种常见的实现方法:
1. **递归**:
```python
def fibonacci_recursive(n):
if n <= 0:
return "输入值应大于0"
elif n == 1 or n == 2:
return 1
else:
return fibonacci_recursive(n-1) + fibonacci_recursive(n-2)
# 测试
n = int(input("请输入要计算的Fibonacci项数:"))
print(fibonacci_recursive(n))
```
2. **循环** (更高效,因为避免了重复计算):
```python
def fibonacci_iterative(n):
a, b = 0, 1
for _ in range(n):
yield a
a, b = b, a + b
# 测试
n = int(input("请输入要计算的Fibonacci项数:"))
for i, fib in enumerate(fibonacci_iterative(n)):
print(f"第{i+1}项: {fib}")
```
3. **生成器函数** (简洁且内存效率高):
```python
def fibonacci_generator(n):
a, b = 0, 1
for _ in range(n):
yield a
a, b = b, a + b
# 测试
n = int(input("请输入要计算的Fibonacci项数:"))
[fib for _ in range(n)] # 使用列表推导式获取前n项
```
阅读全文