如何在for循环中给变量存储值,解决计算器代码运行结果为0的问题
计算器代码问题修复
根因分析
- 变量名拼写错误:你定义的拆分后计算列表名为
splitted_calculation,但for循环遍历的变量写为splited_calculation(少了一个字母t),导致循环完全没有执行,result始终保持初始赋值的0,这是你看到输出为0的核心原因。 - 逻辑存在遗漏:即使修正拼写问题,现有逻辑仅会在遍历到加号时执行累加操作,表达式末尾的数字遍历完成后没有对应的累加触发条件,最终结果会少加最后一个数值。
修复后代码
result = 0 # 提前初始化number避免变量未定义报错 number = 0 splitted_calculation = ["2", "+", "2"] # 修正变量名拼写 for thing in splitted_calculation: if thing == "+": result += number else: number = int(thing) # 补充末尾数字累加逻辑 result += number print(result)
验证结果
运行上述代码会输出4,符合预期计算结果。
内容的提问来源于stack exchange,提问作者Archer
相关产品推荐
相关产品推荐

