鱼C论坛

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

09课课堂练习中continue的作用我理解不了

[复制链接]
发表于 2016-9-28 05:18:21 | 显示全部楼层 |阅读模式

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

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

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

我是这样理解的:
1. rang(10)= (0,1,2,3,4,5,6,7,8,9)
2.在这个区间中,如果i是奇数,进行下一轮,并执行i = i+2的操作
3.当 i = 1时,i = i +2 =3
  当 i = 3时,i = i +2 =5
  当 i = 5时,i = i +2 =7
  当 i = 7时,i = i+2 = 9
为什么答案不是,1,3,5,7,9呢?
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-9-28 09:59:24 | 显示全部楼层
当i = 1时 if条件成立  打印1  然后跳出循环  也就没有执行下一个步骤
然后继续放下一个数值  i=2的时候 if没有成立 就直接跳过执行下面的步骤   也就是 2 + 2  = 4  然后打印
continue在这里的意思是  如果到了我这里  下面不用走了   停止 跳出去 然后开始下一步的循环
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-9-28 13:46:51 | 显示全部楼层
因为python中for循环不同于c,java等语言中的for循环
比如C语言中
  1. for(i=1;i<10;i++){
  2.     i+=2;
  3. }
复制代码

这个for循环里面改变i的值,则for()中i也会受影响

而python中的for循环机制不同,
比如for i in range(10):
它是从后面range(10)这个迭代器中每次按顺序取一个数,所以即便你在for循环中改变了i的值,但是迭代器中的数并没有变,所以取出的还是原来的数
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-9-28 19:12:52 | 显示全部楼层
shuofxz 发表于 2016-9-28 13:46
因为python中for循环不同于c,java等语言中的for循环
比如C语言中

请问,我这样理解对不对呢:
当,
i = 0时 i = 0+2=2
i = 1时 i =1=1
i = 2时 i =2+2 =4
i = 3时  i =3=3
i = 4时 i =4+2 =6
i = 5时 i =5=5
i = 6时 i =6+2= 8
i = 7时 i =7=7
i = 8时 i = 8+2 =10
i = 9时 i = 9

continue在这里的意思是,如果是奇数,打印我,并且从头开始按顺序再次进行新的循环。
我这样算不算懂了?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-9-28 19:13:53 | 显示全部楼层
jxz8777 发表于 2016-9-28 09:59
当i = 1时 if条件成立  打印1  然后跳出循环  也就没有执行下一个步骤
然后继续放下一个数值  i=2的时候  ...

谢谢解答,明白了一些。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-9-28 22:21:40 | 显示全部楼层
changhaitian 发表于 2016-9-28 19:12
请问,我这样理解对不对呢:
当,
i = 0时 i = 0+2=2

是这样的
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-2-23 01:29

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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