65,209
社区成员
发帖
与我相关
我的任务
分享
i = 1
while i <= 9:
j=1
while j <= i:
print(f"{i}*{j}={i * j}", end=" ")
j+=1
i+=1
print()
以上代码运行结果

而当代码这样写时:
i = 1
j=1
while i <= 9:
while j <= i:
print(f"{i}*{j}={i * j}", end=" ")
j+=1
i+=1
print()
代码运行结果如下

仅仅是换了j=1的位置为什么运行结果变化这么大,请问这个j=1在while循环内外的不同是什么
当最里面的循环执行完毕后,会跳出来再次执行外面的循环,j在里面的时候,当第二次执行外面的循环的时候,又给j重新赋值为1,又进入到里面的循环,以此类推。
当你把j移出循环时,当执行完一次最里面的循环时,j的值最终为9,再执行第二次外面的循环的时候,j的值仍然为9进入到里面的循环。所以两次结果不同。
第一个 while 循环用于控制外层的行数,第二个 while 循环用于控制每一行中的列数。因此,j 的位置会影响内层循环的执行次数,从而影响输出的结果