使用Python求前n项和
时间: 2024-09-20 22:17:29 浏览: 39
在Python中,我们可以使用循环结构来计算前n项和,对于常见的序列如等差数列、等比数列,有专门的公式可以直接计算。以下是几种常见情况下的实现:
1. **简单算术序列**(如1, 2, 3...n),可以使用for循环累加:
```python
def sum_n_terms(n):
total = 0
for i in range(1, n+1):
total += i
return total
# 示例:求前5项和
print(sum_n_terms(5)) # 输出:15
```
2. **等差数列**(例如首项a1,公差d):
```python
def arithmetic_sum(n, a1, d):
total = n * (a1 + ((n - 1) * d))
return total
# 示例:求首项为1,公差为2的前5项和
print(arithmetic_sum(5, 1, 2)) # 输出:30
```
3. **等比数列**(例如首项a1,公比r,通常需要避免r=1导致无穷递归的情况):
```python
def geometric_sum(n, a1, r):
if r == 1:
return n * a1
else:
total = a1 * (1 - r**(n)) / (1 - r)
return total
# 示例:求首项为1,公比为2的前5项和(这里r不等于1)
print(geometric_sum(5, 1, 2)) # 输出:31
```
阅读全文