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

为何代码未显示列表中小于15的数值?循环逻辑问题排查

循环未打印预期数值的原因分析

问题场景

预期逻辑是遍历列表[1, 4, 7, 8, 15, 20, 35, 45, 55]:

  • 若数字大于15则终止循环
  • 否则打印该数字

但运行给定代码后,仅输出了1,其余小于15的数值(4、7、8、15)均未显示,问题出在代码的分支逻辑上。

核心问题

代码中的elif i > 1: continue语句完全打乱了预期流程:

  • continue关键字的作用是跳过当前循环的剩余代码,直接进入下一次迭代。
  • 对列表元素逐一分析:
    • 元素1:既不满足i>15,也不满足i>1,因此会执行print(i),输出1。
    • 元素4、7、8、15:都满足i>1,触发continue,直接跳过后续的print(i),所以这些数都不会被打印。
    • 元素20:满足i>15,触发break终止循环。

修正后的代码

要实现预期逻辑,只需移除多余的elif分支即可:

List = [1, 4, 7, 8, 15, 20, 35, 45, 55]
for i in List:
    if i > 15:
        break
    print(i)

这段代码会依次打印1、4、7、8、15,遇到20时终止循环,完全符合预期。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 08:05:25