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

Python中while循环用continue后输出出现7的原因咨询

为什么while循环会输出7?

问题出在你把i += 1放在了循环体的最开头,导致循环条件的判断和i的递增时机不匹配,具体执行流程如下:

  1. 初始i = 0,满足i <=6,进入循环,先执行i +=1,此时i=1,不触发continue,打印1。
  2. i=1满足循环条件,进入循环,i变为2,打印2。
  3. i=2满足循环条件,进入循环,i变为3,触发continue,跳过打印,直接回到循环判断。
  4. i=3满足循环条件,进入循环,i变为4,打印4。
  5. i=4满足循环条件,进入循环,i变为5,打印5。
  6. i=5满足循环条件,进入循环,i变为6,打印6。
  7. i=6满足循环条件,进入循环,i变为7,此时不触发continue,打印7。之后回到循环判断,7<=6不成立,循环结束。

简单说:循环条件是在每次迭代开始前判断的,当i=6时,i<=6成立,所以会进入这次迭代,先把i加到7再执行打印,这就导致了7被输出。

如果要得到你预期的1、2、4、5、6,可以调整i +=1的位置,修改后的代码如下:

#!/usr/bin/python
# -*- coding: utf-8 -*-
i = 0
while i <= 6:
    if i == 3:
        i +=1
        continue
    print i
    i += 1

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 14:30:16