1.
while x < 3:
print("x的当前值为%d" % x)
y = 0
while y < 3:
print("y的当前值为%d" % y)
print("内层循环")
y += 1
print("y的累加值为%d" % y)
print("外层循环")
x += 1
print("x的累加值为%d" % x)
执行结果如下: (嵌套的内循环计数器在外循环内部)
第1次完整循环
x当前值 = 0
y当前值 = 0
内层循环
y累加值 = 1
y当前值 = 1
内层循环
y累加值 = 2
y当前值 = 2
内层循环
y累加值 = 3
外层循环
x累加值 = 1
第2次完整循环
x当前值 = 1
y当前值 = 0
内层循环
y累加值 = 1
y当前值 = 1
内层循环
y累加值 = 2
y当前值 = 2
内层循环
y累加值 = 3
外层循环
x累加值 = 2
第3次完整循环
x当前值 = 2
y当前值 = 0
内层循环
y累加值 = 1
y当前值 = 1
内层循环
y累加值 = 2
y当前值 = 2
内层循环
y累加值 = 3
外层循环
x累加值 = 3
不再满足条件
2.
x = 0
y = 0
while x < 3:
print("x当前值 = %d" % x)
while y < 3:
print("y当前值 = %d" % y)
print("内层循环")
y += 1
print("y累加值 = %d" % y)
print("外层循环")
x += 1
print("x累加值 = %d" % x)
执行结果如下: (嵌套的内循环计数器在外面)
第1次完整循环
x当前值 = 0
y当前值 = 0
内层循环
y累加值 = 1
y当前值 = 1
内层循环
y累加值 = 2
y当前值 = 2
内层循环
y累加值 = 3
外层循环
x累加值 = 1
第2次完整循环
x当前值 = 1
外层循环
x累加值 = 2
第3次完整循环
x当前值 = 2
外层循环
x累加值 = 3
为什么会出现这种差异呢? 看了视频, 老师只告诉这种差异存在, 自己也分析了执行流程, 但那是从结果分析原因, 总觉得对其中原理有点迷糊.
有什么更明确清晰的理解方法吗? 像python代码从上到下, 从左到右, LEGB原则?