仲夏八巳 发表于 2022-10-22 14:12:48

求助:循环缩进规则

问问这两个缩进规则有什么不同啊?(见图)
能不能解释一下

wp231957 发表于 2022-10-22 14:25:39

第二个图的day+=1.和第一个while是平级
会导致死循环

jackz007 发表于 2022-10-22 14:28:38

本帖最后由 jackz007 于 2022-10-22 14:36 编辑

      Python 用缩进来表达语句归属关系,相当于其它语言的语句括号,一般用在 class、define、for...else、while...else、if ...else、try...except...else 、with 等语句的场合,这样的语句末尾都会有一个冒号,后面的从属语句要向后缩进,以表达从属关系,凡处于相同缩进位置的语句均会得到无差别执行。

仲夏八巳 发表于 2022-10-22 14:36:58

wp231957 发表于 2022-10-22 14:25
第二个图的day+=1.和第一个while是平级
会导致死循环

那break跳出的是第一个while循环还是第二个while循环?
为什么第一个只打印3次,第二个打印8次。。。。?

jackz007 发表于 2022-10-22 14:39:11

本帖最后由 jackz007 于 2022-10-22 14:43 编辑

仲夏八巳 发表于 2022-10-22 14:36
那break跳出的是第一个while循环还是第二个while循环?
为什么第一个只打印3次,第二个打印8次。。。。 ...

      两个代码的 break 均属于内循环,均只能跳出内层循环。
      两个代码的最大区别是,day += 1 的缩进位置不同,前者位于循环内,后者位于循环外,由于 day 是外层循环的循环变量,所以,前者可以正常循环,后者 day 在循环中值始终不变,是死循环。

wp231957 发表于 2022-10-22 14:50:11

仲夏八巳 发表于 2022-10-22 14:36
那break跳出的是第一个while循环还是第二个while循环?
为什么第一个只打印3次,第二个打印8次。。。。 ...

break只能终止离它最近的循环
第二个是死循环,如果看不出来,请继续学习
页: [1]
查看完整版本: 求助:循环缩进规则