鱼C论坛

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

[已解决]break 和 continue 的疑问

[复制链接]
发表于 2017-9-6 21:36:48 | 显示全部楼层 |阅读模式

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

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

x
上完第9课, 对于break和continue的用法不是很能理解. 特别是课上最后一个例子:

>>> 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

为什么会打印出这个列表我还是一脸懵逼.. 小甲鱼老师在里面就说了听回之前他说的分析,但我听了还是不懂. 我的理解, continue之前的语句是明白的, print出来的会是 1,3,5,7,9 这几个奇数.

但为什么加了 continue 以后, 会把 2,4,6,8,10 加插在他们中间? 不懂啊....求大佬们教我
最佳答案
2017-9-6 21:51:47
第一次循环,i=0,if条件不成立,执行i+2,i变成2,打印2。
第二次循环,i=1,这里要注意,不管循环中如何改变i,再到循环的头部时,仍按range的值进行。if条件成立,打印1,continue跳到下次循环。
以此类推。

评分

参与人数 1鱼币 +2 收起 理由
家丁 + 2 热爱鱼C^_^

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2017-9-6 21:51:47 | 显示全部楼层    本楼为最佳答案   
第一次循环,i=0,if条件不成立,执行i+2,i变成2,打印2。
第二次循环,i=1,这里要注意,不管循环中如何改变i,再到循环的头部时,仍按range的值进行。if条件成立,打印1,continue跳到下次循环。
以此类推。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-9-6 22:48:51 | 显示全部楼层
不要想得太复杂。
continue 中断本次循环,继续下一次的循环。
break  退出整个循环。

这不就好理解了么
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-9-7 20:20:12 | 显示全部楼层
冬雪雪冬 发表于 2017-9-6 21:51
第一次循环,i=0,if条件不成立,执行i+2,i变成2,打印2。
第二次循环,i=1,这里要注意,不管循环中如何 ...

谢谢大佬,我明白了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-9-10 16:37:50 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2017-9-21 08:52:16 | 显示全部楼层
不论for内部i怎么操作,在for开始时是按照0-10逐个遍历的,continue跳出当次循环,重新回到for开始的位置进行下次遍历。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-18 22:26

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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