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

如何用Python的while循环输出0到10并跳过5和8?

问题分析与解决

你写的代码存在几个关键问题:

  • 重复调用print(i),导致每个符合条件的数字会被输出两次
  • 使用break会直接终止整个循环,而非跳过5和8,所以当i=5时循环直接结束,根本不会处理后面的6、7等数字
  • 变量i的递增逻辑放在if判断之后,一旦触发break,后续数字的循环流程直接中断

正确实现代码

方法一:判断后打印

i = 0
while i <= 10:
    # 仅打印非5、非8的数字
    if i != 5 and i != 8:
        print(i, end=',')
    # 无论是否打印,都必须让i递增,避免死循环
    i += 1

方法二:用continue跳过指定数字

i = 0
while i <= 10:
    # 如果是5或8,先递增i再跳过当前循环
    if i == 5 or i == 8:
        i += 1
        continue
    print(i, end=',')
    i += 1

两种方法的输出结果均为:0,1,2,3,4,6,7,9,10,(若不想末尾带逗号,可先将数字存入列表,再用','.join(map(str, 列表))统一输出)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 20:50:30