鱼C论坛

 找回密码
 立即注册
查看: 1675|回复: 9

[已解决]求助大神!!

[复制链接]
发表于 2021-10-6 13:05:42 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
i=1
while i<=9:
    j=1
    while j<=i:
        print(j,"*",i,"=",j*i,end=" ")
        j=j+1
    print()
i=i+1

i=1
while i<=9:
    j=1
    while j<=i:
        print(j,"*",i,"=",j*i,end=" ")
        j=j+1
    print()
    i=i+1

这两组代码为什么不一样?为什么后面那个才是对的,i=i+1为什么要缩进?
最佳答案
2021-10-6 15:01:41
Estellelllle 发表于 2021-10-6 13:53
啊?能不能解释的详细一点,要缩进我懂了,但是我不理解为什么不缩进就结束不了循环,不缩进的话不也是每 ...

这个可以适当的打一下括号

不缩进:
i=1
while i<=9:
{
    j=1
    while j<=i:
    {
        print(j,"*",i,"=",j*i,end=" ")
        j=j+1
    }
    print()
}
i=i+1

相当于出了循环再 i = i + 1

缩进:
i=1
while i<=9:
{
    j=1
    while j<=i:
    {
        print(j,"*",i,"=",j*i,end=" ")
        j=j+1
    }
    print()
    i=i+1
}

相当于再最外面的循环里 i = i + 1

因为最为层的 while 循环条件为 i <= 9,不缩进的话 i 永远都是 1,所以缩进以后就每执行一次外面的大循环以及里面的小循环n次以后,i 就会增加 1

这样外循环循环 9 次以后, 外循环就会结束
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-10-6 13:12:50 | 显示全部楼层
不缩进,最外层的while循环怎么结束呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-10-6 13:31:14 | 显示全部楼层
不缩进的话,最外层的循环结束不了

不缩进:最外层的 while 循环结束后,i = i + 1

缩进:在最外层的 while 循环里,每循环一次,i = i + 1

不缩进结束不了循环,因为最外层循环条件是 i <= 9

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-10-6 13:53:46 | 显示全部楼层
嘉岳呀 发表于 2021-10-6 13:31
不缩进的话,最外层的循环结束不了

不缩进:最外层的 while 循环结束后,i = i + 1

啊?能不能解释的详细一点,要缩进我懂了,但是我不理解为什么不缩进就结束不了循环,不缩进的话不也是每循环一次i 就+1吗?(万分感谢!!)小白有点不太懂哪里该缩进哪里不缩进呜呜┭┮﹏┭┮
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-10-6 14:44:52 | 显示全部楼层
Estellelllle 发表于 2021-10-6 13:53
啊?能不能解释的详细一点,要缩进我懂了,但是我不理解为什么不缩进就结束不了循环,不缩进的话不也是每 ...

可以看得出这是个嵌套循环,两份代码只有最后一句是不一样的
第一个时在循环内,即每次第二层while 循环结束 都会执行到,执行9次即第二个while跳出9 次时 i= 10 ,不满足第一层循环,第一层循环跳出程序结束
第二个在两个循环外,那你的第一层循环不是永远跳不出来了吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-10-6 15:00:01 | 显示全部楼层
大马强 发表于 2021-10-6 14:44
可以看得出这是个嵌套循环,两份代码只有最后一句是不一样的
第一个时在循环内,即每次第二层while 循环 ...

感谢!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-10-6 15:01:41 | 显示全部楼层    本楼为最佳答案   
Estellelllle 发表于 2021-10-6 13:53
啊?能不能解释的详细一点,要缩进我懂了,但是我不理解为什么不缩进就结束不了循环,不缩进的话不也是每 ...

这个可以适当的打一下括号

不缩进:
i=1
while i<=9:
{
    j=1
    while j<=i:
    {
        print(j,"*",i,"=",j*i,end=" ")
        j=j+1
    }
    print()
}
i=i+1

相当于出了循环再 i = i + 1

缩进:
i=1
while i<=9:
{
    j=1
    while j<=i:
    {
        print(j,"*",i,"=",j*i,end=" ")
        j=j+1
    }
    print()
    i=i+1
}

相当于再最外面的循环里 i = i + 1

因为最为层的 while 循环条件为 i <= 9,不缩进的话 i 永远都是 1,所以缩进以后就每执行一次外面的大循环以及里面的小循环n次以后,i 就会增加 1

这样外循环循环 9 次以后, 外循环就会结束
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-10-6 15:02:52 | 显示全部楼层
还有打括号只是为了表明区域,不要再 Python 的循环及函数里面使用大括号
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-10-6 16:24:51 | 显示全部楼层
嘉岳呀 发表于 2021-10-6 15:01
这个可以适当的打一下括号

不缩进:

非常感谢!!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-10-6 18:40:33 | 显示全部楼层

                               
登录/注册后可看大图
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-13 05:50

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表