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

Python中使用while循环输出偶数时遭遇无限循环问题求助

问题分析与修复

你的代码存在两个核心问题:

  • 逻辑偏离需求:你只判断了输入的num是否为偶数,然后仅打印num本身,没有遍历输出所有小于等于num的正偶数
  • 无限循环诱因:当输入奇数时,if num % 2 == 0条件不成立,i始终保持初始值0,while num >= i的条件永远为真,导致程序无限循环

修复后的代码

num = int(input("Please enter a number: "))
i = 2  # 从第一个正偶数开始
result = []
while i <= num:
    result.append(str(i))
    i += 2  # 每次步长为2,保证下一个数也是偶数
print(", ".join(result))

代码说明

  • 初始化i为2,这是最小的正偶数
  • 循环条件i <= num确保只处理小于等于输入值的数
  • 每次循环i += 2,直接跳到下一个偶数,无需额外判断奇偶性
  • 用列表收集结果最后统一打印,保证输出格式是2, 4, 6这样的逗号分隔形式

如果输入的数字小于2(比如1),程序会输出空字符串,符合“无正偶数”的逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 01:20:21