Python while循环代码中,为何第一个示例最后输出为6而非5?
关于while循环输出6的疑问解答
咱们先把第一个示例的代码明确出来,它应该是这样的:
i = 1 while i < 6: i += 1 print(i)
咱们一步步拆解每一次循环的执行过程:
- 初始
i = 1,先判断i < 6(1<6成立),进入循环体 - 执行
i += 1,i变成2,然后打印2 - 回到循环条件判断:
i=2 <6成立,再次进入循环体 - 执行
i +=1,i变成3,打印3 - 重复这个逻辑,直到
i=5的时候:- 判断
5 <6成立,进入循环体 - 执行
i +=1,i变成6,然后打印6
- 判断
- 现在打印完6,回到循环条件判断:
6 <6不成立,循环直接结束
你之前预期最多到5,是误以为循环条件会限制循环体里的操作,但实际上while循环是先判断条件,条件满足才会执行循环体里的代码。当i是5的时候,还满足i<6的条件,所以还能执行一次自增和打印,这时候i就变成6并被输出了,之后才会因为不满足条件退出循环。
内容的提问来源于stack exchange,提问作者munavvar_codes
相关产品推荐
相关产品推荐

