2024-06-23 19:08:36 发布
网友
m = 0 x = 1 while x < 4: y = 1 while y < 3: m = m + x + y y = y + 1 x = x + 1 print(m)
输出应该是21,但我不明白,我错过了什么?请帮点忙
让我们用“图形”表示。 考虑:
while x < 4
while y < 3
x(→):1234 5 6。。。y(↓):1111。。。x(→):1234 5 6。。。y(↓):2222。。。y(↓):3333。。。y(↓):。。。。。。。。。。。。。。。
求和:0+5+7+9=21
m = 0
x = 1
x < 4
while
y
1
y < 3
m
m + x + y = 0 + 1 + 1 = 2
y + 1 = 1 + 1 = 2
y = 2
m + x + y = 2 + 1 + 2 = 5
3
x
x + 1 = 1 + 1 = 2
x = 2
4
让我们用“图形”表示。 考虑:
while x < 4
)while y < 3
)x(→):1234 5 6。。。
y(↓):1111。。。
x(→):1234 5 6。。。
y(↓):2222。。。
y(↓):3333。。。
y(↓):。。。。。。。。。。。。。。。
求和:0+5+7+9=21
m = 0
和x = 1
x < 4
它进入while
循环,其中y
被设置为1
y < 3
它进入嵌套的while
m
变成m + x + y = 0 + 1 + 1 = 2
,y
变成y + 1 = 1 + 1 = 2
y < 3
?对!因为y = 2
。所以它又进入了while
m
变成m + x + y = 2 + 1 + 2 = 5
,y
变成3
y < 3
?不!3
不小于3
,因此while
现在被跳过x
变成x + 1 = 1 + 1 = 2
while
条件:x < 4
?对!因为x = 2
。所以它又进入了循环x
最终变成4
时,while
循环将终止,m
将被打印。你知道吗相关问题 更多 >
编程相关推荐