答案:使用for循环可逐项累加计算几何级数和,首项a,公比r,项数n,通过current *= r迭代生成各项并累加,避免重复幂运算,效率更高,可封装为函数geometric_sum(a, r, n)复用,适用于初学者理解等比数列求和过程。

在Python中,可以用for循环来计算数字的几何级数和(即等比数列的和)。几何级数是指每一项与前一项的比值保持不变的数列,比如:a, ar, ar², ar³, ..., arⁿ⁻¹。
几何级数的基本公式
前n项和的公式为:
Sₙ = a × (1 - rⁿ) / (1 - r),当 r ≠ 1
如果 r = 1,则 Sₙ = a × n
但我们这里重点用for循环一步步累加来实现,而不是直接套用公式。
使用for循环计算几何级数和
下面是具体的实现方法:
# 参数说明: # a: 首项 # r: 公比 # n: 项数a = 1 r = 2 n = 5
total = 0 for i in range(n): term = a * (r ** i) # 计算第i项 total += term # 累加到总和
print("几何级数和为:", total)
立即学习“Python免费学习笔记(深入)”;
上面代码计算的是:1 + 2 + 4 + 8 + 16 = 31
优化:避免重复幂运算
为了提高效率,可以不每次都计算 r**i,而是通过不断乘以公比来生成下一项:
a = 1 r = 2 n = 5total = 0 current_term = a # 当前项从首项开始
for _ in range(n): total += current_term current_term *= r # 下一项 = 当前项 × 公比
print("几何级数和为:", total)
立即学习“Python免费学习笔记(深入)”;
这种方法更高效,尤其在项数较多时。
封装成函数更方便调用
你可以把逻辑写成一个函数,便于复用:
def geometric_sum(a, r, n):
if r == 1:
return a * n
total = 0
current = a
for _ in range(n):
total += current
current *= r
return total
示例调用
result = geometric_sum(1, 2, 5)
print(result) # 输出 31
基本上就这些。用for循环计算几何级数和,关键是理解每一项是如何由前一项乘以公比得到的,然后逐项累加即可。这种方法逻辑清晰,适合初学者理解和调试。











