You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python循环中加法未执行问题求助

解决循环中加法未执行、累加值不保留的问题

嘿,别担心,基础阶段踩这种坑太正常了!根据你的描述,我几乎可以肯定问题出在变量初始化的位置——你大概率把需要保留累加值的cr变量放在了循环内部,导致每次迭代都会重置它,自然没法保留上一次的结果。

先看你可能写错的代码示例

比如你可能写了类似这样的代码:

for i in range(2):
    cr = 100 * 100  # 每次循环都重新赋值,之前的累加值直接被覆盖
    cr += cr
    print(cr)

或者更常见的错误:

for i in range(2):
    cr = 0  # 每次循环都把cr重置为0,累加等于白做
    cr += 100 * 100
    print(cr)

这两种写法都会导致:要么每次cr都被乘法结果覆盖,要么每次都从0开始累加,完全达不到你想要的“保留上一次迭代值”的效果。

正确的写法:把初始化放在循环外面

要让cr保留累加值,必须把它的初始化语句放在循环之前,这样每次循环只会执行累加操作,而不会重置变量:

# 初始化累加变量在循环外
cr = 0
for i in range(2):
    current_product = 100 * 100  # 先计算本次的乘积
    cr += current_product  # 将乘积累加到cr上
    print(cr)

运行这段代码的结果就是:

10000
20000

完全符合你的预期——第一次循环cr从0变成10000,第二次循环保留10000再加上10000,得到20000。

额外补充:如果需要同时跟踪累加和乘积

如果你不仅要累加每次的乘积结果,还要计算所有乘积的相乘结果(比如第一次是10000,第二次是10000*10000),可以用两个变量分开存储,避免混淆:

total_sum = 0
total_product = 1  # 乘积的初始值是1,因为乘1不会改变结果

for i in range(2):
    current = 100 * 100
    total_sum += current
    total_product *= current
    print(f"当前累加值:{total_sum},当前总乘积:{total_product}")

运行后输出:

当前累加值:10000,当前总乘积:10000
当前累加值:20000,当前总乘积:100000000

内容的提问来源于stack exchange,提问作者Danial

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 09:01:32