两段Python while循环代码输出结果不同的原因咨询
两段while循环代码输出差异的原因解析
核心差异在于**i += 1和print(i)的执行顺序**,下面拆解每段代码的执行流程:
第一段代码(输出1 2 3 4 5 6)
i=0 while i<6: i+=1 print(i)
执行步骤:
- 初始
i=0,判断0<6成立,进入循环 - 先执行
i += 1,i变成1,再打印1 - 回到循环判断:
1<6成立,执行i +=1变成2,打印2 - 重复上述逻辑,直到
i=5时:判断5<6成立,i变成6,打印6 - 最后判断
6<6不成立,循环结束
第二段代码(输出0 1 2 3 4 5)
i=0 while i<6: print(i) i+=1
执行步骤:
- 初始
i=0,判断0<6成立,进入循环 - 先打印0,再执行
i +=1,i变成1 - 回到循环判断:
1<6成立,打印1,i变成2 - 重复上述逻辑,直到
i=5时:判断5<6成立,打印5,i变成6 - 最后判断
6<6不成立,循环结束
简单来说,第一段是先加后打印,每次循环输出的都是加完后的数值;第二段是先打印后加,每次循环输出的都是加之前的数值,这就导致了输出结果的差异。
内容的提问来源于stack exchange,提问作者Bilal Anees
相关产品推荐
相关产品推荐

