65,194
社区成员




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 的位置会影响内层循环的执行次数,从而影响输出的结果