鱼C论坛

 找回密码
 立即注册
查看: 1478|回复: 3

[已解决]关于09课,课后题目05的求解

[复制链接]
发表于 2021-1-13 16:36:54 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x

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

各位老师,结合我自己对这段代码的解读,我还是没能够真正理解这段代码的答案。
恳请各位老师帮我看看这么理解对不对,或者错哪里了?
最佳答案
2021-1-13 16:57:46
这是考察break的运用了

嵌套使用while循环
内循环:
break
print(1)
先遇到break打断内循环,print(1)不执行 内循环结束,跳出内循环while
外循环:
print(2)
break
先print(2)再break打断外循环,print(2)执行,跳出外循环while

循环外print(3)
print(3)执行
火狐截图_2021-01-13T08-34-56.783Z.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-1-13 16:42:51 | 显示全部楼层

回帖奖励 +5 鱼币

本帖最后由 Peteryo01223 于 2021-1-13 16:58 编辑

我试着帮助你分析一下。本人也是小白,希望没有误导你。
  1. while True: # 第一层循环,只要是真,就循环。
  2.     while True: # 第二层循环,只要是真,就循环。这是小甲鱼老师的设计,本意为了让大家拓展理解,没有实际的意义,也不会像你推理的,和上一层发生什么关系。
  3.         break # 在本层(第三层)中,结束循环
  4.         print(1) # 在本层中,打印 1,不成功,因为上条break,已经结束了本层(第三层)循环,break后面的本层内容,Python 一律不执行。
  5.     print(2) # 在这一层中,打印 2。至此行代码,本层(第二层)还没有遇到 break,因此,打印2,成功。
  6.     break # 在本层(第二层)中,结束循环,但这个break 不影响上一条的运行。这两层,break 前和beark后,语句的执行完全不同。即:在同一层中,break的前面语句会成功执行,break 后面的语句则不会被执行。
  7. print(3) # 在这一层(第一层)中,打印 3。本层没有遇到 break,打印3,成功。
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-1-13 16:44:53 | 显示全部楼层
想多了,进入循环和进入后遇到break是两回事。
总之true就进去,break就结束本层循环,break后面同级的语句就不执行了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-1-13 16:57:46 | 显示全部楼层    本楼为最佳答案   
这是考察break的运用了

嵌套使用while循环
内循环:
break
print(1)
先遇到break打断内循环,print(1)不执行 内循环结束,跳出内循环while
外循环:
print(2)
break
先print(2)再break打断外循环,print(2)执行,跳出外循环while

循环外print(3)
print(3)执行
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-14 04:07

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表