鱼C论坛

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

[已解决]for 循环与 continue

[复制链接]
发表于 2020-4-8 14:29:02 | 显示全部楼层 |阅读模式

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

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

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
请问一下下面的 i+=2 没有对range(10) 里面的 i 从0 到 9 产生影响吗?
我的意思是,第一个 i 为 0 ,不满足 if 条件,所以到了 i+=2  ,然后打印出 2  ,这时候 i 不是变成 2 了吗?但是答案好像是到 range(10) 里面的 1 ,然后继续 if 判断,再继续下去,求解惑!
最佳答案
2020-4-8 14:35:16
本帖最后由 sunrise085 于 2020-4-8 14:37 编辑

for循环,开始的时候生成遍历序列,在循环体内修改i,并没有修改遍历序列,不影响遍历序列的值。



for i in range(10):  # 生成遍历序列,每次循环,依次把0-9的值依次赋值给i
    if i % 2 != 0:    # 如果i除以二的余数不为0(是奇数)
        print(i)             #打印i
        continue           #继续循环(不执行contiue以后的代码)
    i += 2             #如果i是偶数给i+2(不影响下一次循环时 i 的值)
    print(i)            #打印i

就是依次计算0-9内的数,
如果是奇数,直接打印出来
如果是偶数,加二在打印
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-4-8 14:35:16 | 显示全部楼层    本楼为最佳答案   
本帖最后由 sunrise085 于 2020-4-8 14:37 编辑

for循环,开始的时候生成遍历序列,在循环体内修改i,并没有修改遍历序列,不影响遍历序列的值。



for i in range(10):  # 生成遍历序列,每次循环,依次把0-9的值依次赋值给i
    if i % 2 != 0:    # 如果i除以二的余数不为0(是奇数)
        print(i)             #打印i
        continue           #继续循环(不执行contiue以后的代码)
    i += 2             #如果i是偶数给i+2(不影响下一次循环时 i 的值)
    print(i)            #打印i

就是依次计算0-9内的数,
如果是奇数,直接打印出来
如果是偶数,加二在打印
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-8 14:47:18 | 显示全部楼层
i+=2只会对单个i变量起作用,并不会对range的遍历0到9起作用,range的遍历只有使用步进才可以改变
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-8 14:50:07 | 显示全部楼层
很明显,第一个 i 为 0 不满足 if 条件,所以到了 i+=2  ,然后打印出 2 ,接下来的循环,i 的值是任然是从(0-10),范围取,相当于重新给 i 赋值了,再走条件语句

j=0
for i in range(10):
        if i % 2 != 0:
                continue
        else:
                j+=2
                print(j)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-8 14:50:18 | 显示全部楼层
for循环的变量,每一次都只会在执行完for语句里的程序后被抹去,然后换成for 给它重新赋值的量,for 里面的不影响for的赋值
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-8 16:01:36 | 显示全部楼层
已经明白了,非常感谢大家的回复,谢谢~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-26 03:43

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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