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

使用while循环搭配if语句时陷入无限循环的问题排查

解决无限循环问题并正确累加0到24的偶数

你的代码陷入无限循环的核心问题是:i += 1仅在当前数为偶数时执行。当遇到奇数时,i不会递增,number[i]始终停留在这个小于25的奇数上,循环条件永远成立,导致程序一直跑下去。

修复方法很简单,把i += 1移到if语句外面,不管当前数是不是偶数,每次循环都推进索引:

number = range(0,50)
i = 0
total = 0

while number[i] < 25:
    if number[i] % 2 == 0:
        total += number[i]
    i += 1
print(total)

运行这段代码后,会正确遍历0到24的所有数,只累加其中的偶数,最终得到结果150。

另外,用Python处理这类遍历问题,for循环通常比while循环更简洁直观,你也可以这样写:

total = 0
for num in range(0,25):
    if num % 2 == 0:
        total += num
print(total)

甚至可以用一行代码搞定,利用sum函数和生成器表达式:

print(sum(num for num in range(0,25,2)))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 07:24:18