我在Python中遇到了“while循环”的问题(我是初学者)

问题描述 投票:0回答:1
x=0
while x<5:
       print(x)
       if x==2:
          break
       x+=1
x=0
while x<5:
     if x==2:
         break
     print(x)
     x+=1

这些是我运行的两个代码,在第一个代码中我得到答案:0 1 2 在第二个中我得到答案:0 1

为什么会这样,为什么我得到不同的结果,有什么具体的逻辑吗?

python loops if-statement while-loop break
1个回答
0
投票

出现差异是因为当您调用

break
时,解释器会立即退出循环 - 即使没有完成当前迭代。

当 x 为 2 时,第一个程序将立即尝试将其打印出来,然后意识到它应该中断,因此输出中会得到 2。

与此同时,第二个程序将意识到它应该中断

first,因此它会立即执行此操作,并且永远不会到达 print

 语句。这意味着第二个程序永远不会打印 2。

© www.soinside.com 2019 - 2024. All rights reserved.