009
while True:while True:
break
print(1)
print(2)
break
print(3)
复制代码
会打印:
2
3
因为 break 只能跳出一层循环,记住咯!
这个解释没太看懂。。。。 本帖最后由 Twilight6 于 2020-7-9 19:03 编辑
你这里两个 while 循环,内嵌的循环里面有 break 所以 break 只会退出内部的那个小循环,不影响外部的大循环
你外部的大循环下也有 break ,所以此时再次退出一层循环
在循环中,只要一遇到 break 同循环中下面的代码就不在执了
while True:
while True:
break # 这里只会退出所在的循环中的循环体,即这个 break 所在的是内层循环,所以退出的是里面的循环
print(1)
print(2)
break# 同理,这里只会退出所在的循环中的循环体,即这个 break 所在的是最外层循环,所以退出的是最外面的循环
print(3)
while True: # 把这个循环标记为 1 号循环
while True: # 把这个循环标记为 2 号循环
break # 把这个循环标记为 1 号 break
print(1)
print(2)
break # 把这个循环标记为 2 号 break
print(3)
1 号 break 可以做到跳出 2 号循环,但是它不能做到直接跳出 1 号 2 号 两层循环
必须得在 1 号循环内 在放置一个 2 号 break,才能做到跳出 1 号循环 liuzhengyuan 发表于 2020-7-9 19:01
while True: # 把这个循环标记为 1 号循环
while True: # 把这个循环标记为 2 号循环
break...
谢谢你的回复,能否在解释一下为啥打印结果是2,3呢? zmq 发表于 2020-7-9 19:04
谢谢你的回复,能否在解释一下为啥打印结果是2,3呢?
因为 2 号循环中 break 在 print 的前面
还没有输出 1,就已经跳出循环了 楼上都是正解 {:10_249:} 永恒的蓝色梦想 发表于 2020-7-9 19:11
楼上都是正解
你这……{:10_250:} 首先要确定3是肯定会在最后印出来的
然后再来看循环
while True: #一层
while True: #二层
break
print(1)
print(2)
break
执行过程……
开始执行一层循环……
开始执行二层循环……
跳出二层循环……
打印"2"……
跳出一层循环……
打印"3"
页:
[1]