鱼C论坛

 找回密码
 立即注册
查看: 1343|回复: 10

[已解决]Python 第九課课堂习题 continue 用法 请教

[复制链接]
发表于 2018-1-9 18:12:20 | 显示全部楼层 |阅读模式

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

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

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

那位师兄师姐  能帮忙讲解一下 这个 程序的  运行过程  打印出来的 每一个结果是怎么来的  怎么+2 然后出来的  谢谢哈
最佳答案
2018-1-9 18:40:51
for i in range(10):   #从0到10(不包含10)依次取出一个数赋值给i
        if i%2 != 0:   #i为奇数
                  print(i)  #打印i并换行
                  continue  #跳过循环后面的部分
         i += 2   #i自增2
         print(i)  #打印i并换行
这个的关键就在自增i后会不会影响从range(10)中取出的i
实际上,是不影响的,i自增2并打印后
i 依然是从range(10)中取出值
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-1-9 18:30:26 From FishC Mobile | 显示全部楼层
记住两点
1 continue结束本次循环,进入下次循环判断
2 循环体内修改 i 的值对每次循环用的i无任何影响,比如某次循环i==4,if判断失败执行i+=2后i变为6并打印,但是下次循环i为5
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-1-9 18:31:18 | 显示全部楼层
BngThea 发表于 2018-1-9 18:30
记住两点
1 continue结束本次循环,进入下次循环判断
2 循环体内修改 i 的值对每次循环用的i无任何影响, ...

我想咨询 这个小程序的运算过程 谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-1-9 18:36:41 | 显示全部楼层
for i in range(10):
    if i%2 !=0: #取余数,若不为0,也就是奇数则
        print(i) #打印该奇数
        continue #直接取下一个数了,下面不执行,即奇数不+2
    i += 2 #全部偶数+2
    print(i)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-1-9 18:40:51 | 显示全部楼层    本楼为最佳答案   
for i in range(10):   #从0到10(不包含10)依次取出一个数赋值给i
        if i%2 != 0:   #i为奇数
                  print(i)  #打印i并换行
                  continue  #跳过循环后面的部分
         i += 2   #i自增2
         print(i)  #打印i并换行
这个的关键就在自增i后会不会影响从range(10)中取出的i
实际上,是不影响的,i自增2并打印后
i 依然是从range(10)中取出值
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-1-9 18:46:39 | 显示全部楼层
#python3版本
j = 0
for i in range(10):
    print('I ===',i)
    if i%2 !=0:
        print("跳出本次循环",i)
        #跳出本次循环,执行下一次循环
        continue

    j = i+2
    print("j==",j)

输出结果:
I === 0
j== 2
I === 1
跳出本次循环 1
I === 2
j== 4
I === 3
跳出本次循环 3
I === 4
j== 6
I === 5
跳出本次循环 5
I === 6
j== 8
I === 7
跳出本次循环 7
I === 8
j== 10

希望能帮助到你
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-1-9 19:20:38 | 显示全部楼层
Tony_C 发表于 2018-1-9 18:36
for i in range(10):
    if i%2 !=0: #取余数,若不为0,也就是奇数则
        print(i) #打印该奇数

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

使用道具 举报

 楼主| 发表于 2018-1-9 19:21:20 | 显示全部楼层
BngThea 发表于 2018-1-9 18:30
记住两点
1 continue结束本次循环,进入下次循环判断
2 循环体内修改 i 的值对每次循环用的i无任何影响, ...

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

使用道具 举报

 楼主| 发表于 2018-1-9 19:22:09 | 显示全部楼层
影-死神 发表于 2018-1-9 18:40
这个的关键就在自增i后会不会影响从range(10)中取出的i
实际上,是不影响的,i自增2并打印后
i 依然是 ...

懂了 懂了 謝謝  兩個  i  整蒙圈了
1-9.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-1-9 19:26:52 | 显示全部楼层
Jons 发表于 2018-1-9 18:46
希望能帮助到你

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

使用道具 举报

发表于 2018-1-9 22:18:29 | 显示全部楼层
把程序改了下能看的很清楚:
for i in range(10):
    print('初始的i=%d'%i)
    if i%2 !=0:
        print('循环内的i=%d,下个初始i就是%d'%(i,i+1))
        continue
    i += 2
    print('循环外的i=%d'%i)
结果:
======================= RESTART: D:\Python34\linshi.py =======================
初始的i=0
循环外的i=2
初始的i=1
循环内的i=1,下个初始i就是2
初始的i=2
循环外的i=4
初始的i=3
循环内的i=3,下个初始i就是4
初始的i=4
循环外的i=6
初始的i=5
循环内的i=5,下个初始i就是6
初始的i=6
循环外的i=8
初始的i=7
循环内的i=7,下个初始i就是8
初始的i=8
循环外的i=10
初始的i=9
循环内的i=9,下个初始i就是10
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-24 02:40

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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