我很困惑为什么在下面的嵌套 while 循环中输出不是我所期望的:
i = 1
j = 1
while(i<5){
print("i")
print(i)
i = i + 1
while(j<5){
print("j")
print(j)
j = j + 1
}
}
我得到的输出是:
[1] "i"
[1] 1
[1] "j"
[1] 1
[1] "j"
[1] 2
[1] "j"
[1] 3
[1] "j"
[1] 4
[1] "i"
[1] 2
[1] "i"
[1] 3
[1] "i"
[1] 4
但我期待类似的事情
[1] "i"
[1] 1
[1] "j"
[1] 1
[1] "j"
[1] 2
[1] "j"
[1] 3
[1] "j"
[1] 4
[1] "i"
[1] 2
[1] "j"
[1] 1
[1] "j"
[1] 2
[1] "j"
[1] 3
[1] "j"
[1] 4
...
有什么建议吗?谢谢您的帮助。
循环的行为没有任何问题。
i = 1 // Beginning of your code, you're initializing i, changing its value to 1
j = 1 // ... initializing j as well.
while(i<5){ // looping while i < 5
print("i")
print(i)
i = i + 1 // incrementing i
while(j<5){ // looping while j is < 5
print("j")
print(j)
j = j + 1 // incrementing j
}
}
现在多思考一下你的代码。
您想要的是第二个
while
循环实际上为第一个循环的每个循环循环4次。
那么您期望在第一个
j
循环的范围内将 while
的值设置回 1,神奇吗?您可能想尝试自己做,不是吗?
将 j 放入循环中,为每个 i 重复所有 j...
i = 1
while(i<5){
print("i")
print(i)
i = i + 1
j = 1
while(j<5){
print("j")
print(j)
j = j + 1
}
}