大佬,九九乘法表中,为什么j的位置不同代码运行结果不同?

2301_78871715 2023-08-22 05:57:07
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循环内外的不同是什么

 

 

...全文
230 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
CSDN-Ada助手 2023-08-22
精选
  • 打赏
  • 举报
回复
您的问题已经帮您同步至问答, 链接: https://ask.csdn.net/questions/7991237, 请您保持关注, 如果回答有帮助解决此问题, 麻烦您动动小手给相关的回答点赞, Ada会在评论区为您更新结题状态
s1392244049 2023-08-22
  • 打赏
  • 举报
回复 1

当最里面的循环执行完毕后,会跳出来再次执行外面的循环,j在里面的时候,当第二次执行外面的循环的时候,又给j重新赋值为1,又进入到里面的循环,以此类推。
当你把j移出循环时,当执行完一次最里面的循环时,j的值最终为9,再执行第二次外面的循环的时候,j的值仍然为9进入到里面的循环。所以两次结果不同。

影子身后 2023-08-22
  • 打赏
  • 举报
回复 1

第一个 while 循环用于控制外层的行数,第二个 while 循环用于控制每一行中的列数。因此,j 的位置会影响内层循环的执行次数,从而影响输出的结果

65,194

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧