Python 我很难理解这一点

Python 我很难理解这一点,python,Python,输出应该是21,但我不明白,我遗漏了什么?请帮我一点忙 m=0和x=1 由于x

输出应该是21,但我不明白,我遗漏了什么?请帮我一点忙

m=0和x=1 由于x<4,它进入while循环,其中y设置为1 由于y<3,它进入嵌套的 m变成m+x+y=0+1+1=2,y变成y+1=1+1=2 返回循环条件:y<3?对因为y=2。所以,它又在一段时间内发生了 m变成m+x+y=2+1+2=5,y变成3 再次回到循环条件:y<3?不3不小于3,因此现在跳过while x变成x+1=1+1=2 当条件:x<4时返回到第一个?对因为x=2。所以它又进入了循环 回到步骤2。 当x最终变为4时,while循环将终止,m将被打印。
让我们用图形表示。 考虑:

x值从1开始,从左到右增长,我们不关心3之后是什么:而x<4 y值!!!对于每个x!!!从1开始,从上到下增长,我们不在乎2之后是什么,而y<3 x值以正常字体样式显示,而y值以斜体显示 我们关心的所有内容都以粗体显示,实际上程序甚至不会计算不以粗体显示的内容,为了清晰起见,我将这些值放在这里: x值x∈ {1, 2, 3} y值y∈ {1, 2} x行显示两次,因为对于每个y,x都添加到总和中 总额: 位于分隔线下方,从0开始 每一个数是总和,把它看作是它上面那个列中的粗体数字的部分和,它们对应于一个x迭代,它们包含x的所有y迭代。 最后,我们为所有x次迭代添加这些值,并得到最终值 x→:123456... Y↓:1111... x→:123456... Y↓:2222... Y↓:3333... Y↓:...............


求和:0+5+7+9=21

你必须比我不明白的更具体。为每个作业添加两个打印,并查看输出以跟踪程序流程我运行代码,输出为21!有什么问题?
m = 0
x = 1
while x < 4:
    y = 1
    while y < 3:
        m = m + x + y
        y = y + 1
    x = x + 1
print(m)