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

遍历列表时出现无限循环问题的排查与解决请求

解决列表遍历无限循环并仅打印正数的问题

你的代码存在两个核心问题,导致要么根本不执行循环,要么进入无限循环:

错误点分析

  • 循环条件逻辑完全错误:原代码使用i > len(numbers)作为循环条件,但初始i=0,列表长度为5,0 > 5永远不成立,循环体根本不会运行;就算误写成i < len(numbers),也会因为第二个问题陷入无限循环。
  • 缺少索引自增操作:循环体内没有i += 1来推进索引,就算条件修正正确,i会一直停在0,反复处理同一个元素,导致无限循环。

修正后的代码

numbers = [5, -3, 7, -1, 10]
i = 0

while i < len(numbers):  # 修正循环条件:索引小于列表长度时继续遍历
    if numbers[i] < 0:
        print(f"Skipping negative number: {numbers[i]}")
    else:
        print(f"Processing positive number: {numbers[i]}")
    i += 1  # 每次循环后索引+1,推进遍历进程

更简洁的替代写法(可选)

Python中遍历列表不需要手动维护索引,直接用for循环更直观高效:

numbers = [5, -3, 7, -1, 10]

for num in numbers:
    if num < 0:
        print(f"Skipping negative number: {num}")
    else:
        print(f"Processing positive number: {num}")

以上两种写法都能实现遍历所有元素、跳过负数打印正数、处理完自动终止循环的预期效果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 04:42:02