Python编程产生斐波拉契数列20项
时间: 2023-11-19 15:07:46 浏览: 70
斐波那契数列是指从第三项开始,每一项都等于前两项之和。因此,斐波那契数列的前20项依次为:0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181。
以下是用Python代码生成斐波那契数列的前20项:
```python
fibonacci = [0, 1]
for i in range(2, 20):
fibonacci.append(fibonacci[i-1] + fibonacci[i-2])
print(fibonacci)
```
输出结果为:
```
[0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181]
```
相关问题
Python编程实现斐波那契数列
斐波那契数列是一个经典的数列,可以使用递归或循环来实现。下面是使用Python编程实现斐波那契数列的两种方法:
1. 使用递归实现:
```python
def fibonacci_recursive(n):
if n <= 1:
return n
else:
return fibonacci_recursive(n-1) + fibonacci_recursive(n-2)
```
这个方法直接按照斐波那契数列的定义,使用递归方式计算第n个斐波那契数。但是这种方法效率较低,因为会有大量的重复计算。
2. 使用循环实现:
```python
def fibonacci_iterative(n):
if n <= 1:
return n
else:
a, b = 0, 1
for _ in range(n-1):
a, b = b, a + b
return b
```
这个方法使用循环方式计算第n个斐波那契数,通过迭代更新a和b的值来求解。这种方法效率较高,不会有重复计算的问题。
你可以调用这些函数来获取斐波那契数列中的特定项,比如 `fibonacci_recursive(10)` 或 `fibonacci_iterative(10)` 将返回斐波那契数列中的第10项。
如何用Python编程计算斐波那契数列的前n项和?
在Python中,可以使用循环或者递归来计算斐波那契数列的前n项和。这里提供两种常见的方法:
1. **迭代法**:
```python
def fibonacci_sum(n):
if n <= 0:
return 0
a, b = 0, 1
total = a
for _ in range(1, n):
a, b = b, a + b
total += b
return total
n = int(input("请输入项数: "))
fib_sum = fibonacci_sum(n)
print(f"斐波那契数列的前{n}项和为: {fib_sum}")
```
2. **递归法**(虽然递归不是最优解,因为会有很多重复计算,但对于较小的n值还是可行的):
```python
def fibonacci(n):
if n <= 0:
return 0
elif n == 1:
return 1
else:
return fibonacci(n - 1) + fibonacci(n - 2)
def fibonacci_sum(n):
if n <= 0:
return 0
else:
return sum(fibonacci(i) for i in range(1, n+1))
n = int(input("请输入项数: "))
fib_sum = fibonacci_sum(n)
print(f"斐波那契数列的前{n}项和为: {fib_sum}")
```
阅读全文