724553598 发表于 2019-3-18 12:01:55

for 和range 的问题

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

continue 指的是结束本轮循环,并开始下一轮循环,对吗?
为什么,我的答案会是 0,3,2,5,4,7,6,9,8,11.

BngThea 发表于 2019-3-18 12:27:33

不是吧,我运行你的代码,结果如下:
2
1
4
3
6
5
8
7
10
9

heidern0612 发表于 2019-3-18 12:59:19

continue意思为结束当前回合,continue下面的代码就不运行了。从头开始继续下一轮循环。

724553598 发表于 2019-3-18 13:38:30

BngThea 发表于 2019-3-18 12:27
不是吧,我运行你的代码,结果如下:

你这个是正确答案,我知道,我是按自己的理解得到的答案和正确答案不一样,我才不懂的.

724553598 发表于 2019-3-18 13:41:59

BngThea 发表于 2019-3-18 12:27
不是吧,我运行你的代码,结果如下:

我不懂的是,i%2 != 0 ,是i为奇数时,结束循环并+2.
可是0是偶数应该直接打印的吖,1是奇数,应该结束循环并+2吖.难道我理解错了吗{:5_109:}

BngThea 发表于 2019-3-18 13:52:55

724553598 发表于 2019-3-18 13:41
我不懂的是,i%2 != 0 ,是i为奇数时,结束循环并+2.
可是0是偶数应该直接打印的吖,1是奇数,应该结束循环 ...

循环里面修改 i 的值,不影响下一次循环开始的时候 i 的值

724553598 发表于 2019-3-18 14:07:37

BngThea 发表于 2019-3-18 13:52
循环里面修改 i 的值,不影响下一次循环开始的时候 i 的值

我去,我竟然还是没有懂!!
我现在就是特纳闷,本来应该奇数结束循环+2,怎么变成偶数+2了...{:5_92:}{:5_99:}

BngThea 发表于 2019-3-18 14:23:16

724553598 发表于 2019-3-18 14:07
我去,我竟然还是没有懂!!
我现在就是特纳闷,本来应该奇数结束循环+2,怎么变成偶数+2了...{:5_9 ...

奇数的时候if判断成立,执行continue
页: [1]
查看完整版本: for 和range 的问题