bailean 发表于 2020-4-4 15:38:59

关于break语句

while True:
    while True:
      break
      print(1)
    print(2)
    break
print(3)


这两个 while True是啥嘛?前面什么都没有就让循环,能给解释一下这段代码吗?谢谢啦

qiuyouzhi 发表于 2020-4-4 15:40:37

就是两个循环,有问题吗?
while True:
    while True:
      while True:
            while True:
                break
            break
      break
    break
这样都是没有问题的

zltzlt 发表于 2020-4-4 15:41:01

程序一开始就进入死循环,只有循环内有 break 才能跳出循环

while True:
    while True:
      break       # 跳出循环
      print(1)    # 不执行,因为已经跳出了这一层循环
    print(2)      # 打印 2
    break         # 跳出循环
print(3)            # 打印 3

bailean 发表于 2020-4-4 15:47:48

zltzlt 发表于 2020-4-4 15:41
程序一开始就进入死循环,只有循环内有 break 才能跳出循环

谢谢,豁然开朗

bailean 发表于 2020-4-4 15:49:20

qiuyouzhi 发表于 2020-4-4 15:40
就是两个循环,有问题吗?

这样都是没有问题的

哦哦哦,我懂啦,就是每一个while True:都对应着一个break

于睿瀛 发表于 2020-4-4 15:53:15

本帖最后由 于睿瀛 于 2020-4-4 15:59 编辑

while True:        #循环1
    while True:                #循环2
      break                #结束循环2
      print(1)                #循环2如果没有结束打印“1”
    print(2)                        #循环1如果没有结束打印“2”
    break                        #结束循环1
print(3)                        #打印“3”
#所以程序运行的结果是
#2
#3
#每一个while True:和它缩进一个tab的break是一对。直到有break循环结束,一旦循环结束循环后面的缩进代码,就是属于循环的部分都会被跳过。
#我能想到的打印“1”的意义就是检查循环2是否正确结束了。可以通过检查打印结果,确定2个循环的结束是否正确。print(1)的作用应该只有测试。

bailean 发表于 2020-4-4 16:02:23

于睿瀛 发表于 2020-4-4 15:53


谢谢谢谢,太透彻啦,万分感谢
页: [1]
查看完整版本: 关于break语句