如何用 Python 编写一个函数来计算斐波那契数列的前 n 项之和?
时间: 2024-10-22 11:06:46 浏览: 51
在Python中,你可以编写一个递归函数或者使用循环来计算斐波那契数列的前n项之和。这里提供两种方法:
1. **递归方法**:
```python
def fibonacci_sum(n):
if n <= 0:
return 0
elif n == 1:
return 1
else:
a, b = 0, 1
fib_sum = 1 # 初始化前两项之和
for _ in range(2, n):
a, b = b, a + b
fib_sum += b
return fib_sum
# 使用示例
n = 10
fibonacci_total = fibonacci_sum(n)
```
2. **循环方法(迭代法)**:
```python
def fibonacci_sum_iterative(n):
if n <= 0:
return 0
elif n == 1:
return 1
else:
a, b = 0, 1
fib_sum = 1
for _ in range(2, n):
temp = a
a = b
b = temp + b
fib_sum += b
return fib_sum
# 示例
fibonacci_total = fibonacci_sum_iterative(n)
```
在这两个函数中,`n`是要计算的项数。注意递归方法虽然简洁,但对于大的`n`可能会有性能问题,因为它会重复计算很多次相同的值。
阅读全文