如何用while循环正确计算20至100的整数和?代码结果错误
修复while循环计算20到100整数和的错误
你的代码存在几个关键问题,导致计算结果完全错误:
- 没必要嵌套
for循环,这直接打乱了while循环的遍历逻辑,完全是多余的。 - 累加逻辑错误:
sum = num + 1根本不是累加操作,正确的累加应该把当前num的值加到总和里,比如sum = sum + num。 - 在
for循环里修改num的值,会让外层while的循环条件失控,导致循环提前结束。 continue语句在这里没有任何作用,属于冗余代码。
下面是正确的while循环实现代码:
num = 20 sum_total = 0 # 尽量别用sum当变量名,它是Python的内置函数 while num <= 100: sum_total += num # 等价于sum_total = sum_total + num num += 1 print(sum_total)
这段代码逻辑清晰:从20开始,每次把当前数字加到总和里,然后数字自增1,直到数字超过100时停止循环,最终输出的结果是4860(这才是20到100所有整数的正确和,你提到的210应该是预期结果写错了)。
内容的提问来源于stack exchange,提问作者Lin
相关产品推荐
相关产品推荐

