鱼C论坛

 找回密码
 立即注册
查看: 1527|回复: 5

[已解决]009 讲中 continue 不懂哎

[复制链接]
发表于 2017-11-23 16:58:21 | 显示全部楼层 |阅读模式

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

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

x
for i in range(10):
    if i%2 != 0:
        print(i)
        continue
    i += 2
    print(i)


为什么出来了是:
                                2 1 4 3 6 5 8 7 10 9
               
   
求讲解
最佳答案
2017-11-23 17:19:35
需要知道两点∶
1 continue 语句结束本次循环,进入下一次循环判定
2 循环体内修改 i 并不会影响循环下一次循环时 i 的值,举个例子,第一次i=0,循环体内有i+=2,i变成了2,打印也输出了2,但是下一轮循环时i=1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-11-23 17:19:35 From FishC Mobile | 显示全部楼层    本楼为最佳答案   
需要知道两点∶
1 continue 语句结束本次循环,进入下一次循环判定
2 循环体内修改 i 并不会影响循环下一次循环时 i 的值,举个例子,第一次i=0,循环体内有i+=2,i变成了2,打印也输出了2,但是下一轮循环时i=1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-11-23 17:29:35 | 显示全部楼层
本帖最后由 792136506 于 2017-11-23 17:31 编辑

就是结束当前循环,开始下一个循环.
代码中的循环就是分别把1-10的数字赋予给变量i
它开始就把数字0赋予变量i,然后if 进行判断 i 所代表的数除以2的余数是否为0.因为i = 0不符合条件,然后就执行if语句之外的,就是i + 2然后打印出 i 就是 2
之后循环 把数字1赋予变量i,然后if 进行判断 i 所代表的数数除以2的余数是否为0.因为i = 1符合条件,执行if语句内,就是直接打印 i ,就是 1 ,然后到 就是continue,直接结束了关于 数字1的循环 它后面的就不执行了,直接开始数字2的循环,依此类推
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-11-23 22:07:23 | 显示全部楼层
continue 是结束本次循环,开始下一次循环
也就是说,如果在循环中,你执行了continue,在循环中的语句i+=2和print(i)就不会执行,直接执行到for i in range(10)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-11-24 14:29:56 | 显示全部楼层
这里只有一个循环,也就是for。range(10)是0~9,每次执行for判断的时候range就给i一个值。
第一次for时i=0,所以i%2为0不执行,运行i=i+2即i=2并print(2);
第二次for时i=1,所以i%2为0.5执行if内容即print(1),continue就是跳回到循环判断那一行,在这里也就是for(进行第三次for)
第三次for时i=2,...(如此类推)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-11-26 07:45:48 | 显示全部楼层
continue就是跳出当前循环但不会影响下面的循环条件!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-6-10 16:06

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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