Python等比数列求和简洁代码
时间: 2024-10-01 19:00:26 浏览: 36
Python100实例.docx
在Python中,计算等比数列的和可以使用公式 `(a * (r^n - 1)) / (r - 1)` 来直接计算,其中 `a` 是首项,`r` 是公比,`n` 是项数。如果你有一个列表表示等比数列,也可以直接使用内置函数 `sum()` 和 `filter()` 函数结合生成器表达式来求和,因为等比数列通常包含无限项,所以这里只考虑有限项。
下面是一个简洁的示例:
```python
# 假设你有一个等比数列的首项 a, 公比 r, 以及项数 n
def geometric_sequence_sum(a, r, n):
return a * (1 - r**n) / (1 - r)
# 或者如果你有等比数列的列表
def sum_geometric_sequence(seq):
first_term, common_ratio = seq[0], seq[1]
if common_ratio == 1: # 如果公比为1,这是一个常数序列,直接返回首项乘以项数
return first_term * len(seq)
else:
return sum(first_term * r ** i for i in range(len(seq)))
# 示例
# 首项 a=1, 公比 r=2, 项数 n=5
seq = [1, 2, 4, 8, 16]
geometric_sum = sum_geometric_sequence(seq)
print("等比数列的和:", geometric_sum)
阅读全文