Python实现奇数1+3+5…累加超100的代码bug排查求助
问题解决方案
错误原因
- 最后累加的奇数取值错误:你在将k计入总和后立刻执行了
k = k + 2,当总和超过100退出循环时,k已经多递增了一次2,因此实际最后累加的奇数是k-2,而非当前打印的k值 - 缺少计数逻辑:没有定义计数变量,每次完成奇数累加时对计数器+1即可实现个数统计
- 冗余代码:k初始值为1,每次固定加2,本身就全为奇数,
if k%2==1的判断完全多余;定义的n变量未被使用,可以直接删除
注意:不要使用
sum作为变量名,它是Python内置函数,自定义变量覆盖会导致后续无法正常调用sum函数。
修正后代码
sum_total = 0 current_odd = 1 count = 0 last_odd = 0 while sum_total <= 100: sum_total += current_odd count += 1 last_odd = current_odd current_odd += 2 print(f"最终求和结果:{sum_total}") print(f"最后一次累加的奇数:{last_odd}") print(f"累加的数字总个数:{count}")
运行输出
最终求和结果:121 最后一次累加的奇数:21 累加的数字总个数:11
完全符合预期要求。
内容的提问来源于stack exchange,提问作者Ertu
相关产品推荐
相关产品推荐

