python中while循环嵌套问题,内循环与外循环的运行逻辑

如图中红线所示的外层循环的day无论<=哪个数字,整个程序的最终运行结果都是只打印8次“今天,我一定要坚持学习8个小时!”。如图所示,”为什么不是打印7*8=56遍的“今天,我一定要坚持学习8个小时!”,为什么当day > 7后,内部循环不终止?这个while循环嵌套的运行逻辑是怎样的?

img

外层循环第一次执行时,day=1:
内层循环开始执行,循环打印8次,hour变成9时,内层循环结束,注意:这时hour是9,接着执行 day+=1,day变为2
外层循环第二次执行时,day=2:
内层循环开始执行时,判断hour是否小于等于8,发现hour是9,不成立,内层循环结束。接着执行day+=1,day变为3
接着外层循环第三次,hour仍为9.....
直到 day=8时,外层循环也结束了。
 有帮助请采纳

因为你day+=1之后要把hour重置为1,即hour=1,不然下个循环hour=9没办法进入内层循环