小淼君 发表于 2017-11-28 21:23:17

各位前辈,这里面的i怎么赋值了半天没变化啊

for循环里面的i赋值没变化是为什么?
>>> 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

BngThea 发表于 2017-11-28 21:41:45

i作为循环变量,循环体内修改i的值并不会影响下一次循环时i该取的值

小淼君 发表于 2017-11-29 09:21:16

BngThea 发表于 2017-11-28 21:41
i作为循环变量,循环体内修改i的值并不会影响下一次循环时i该取的值

感谢您的指点,如果我想使i根据里面的逻辑发生变化而减少循环次数,需要怎么操作?另外设置变量然后break或者continue么?

BngThea 发表于 2017-11-29 09:36:09

小淼君 发表于 2017-11-29 09:21
感谢您的指点,如果我想使i根据里面的逻辑发生变化而减少循环次数,需要怎么操作?另外设置变量然后break ...

可以这样
或者用while循环

小淼君 发表于 2017-11-29 10:21:25

BngThea 发表于 2017-11-29 09:36
可以这样
或者用while循环

哦,while。可以可以,谢谢前辈指点。
页: [1]
查看完整版本: 各位前辈,这里面的i怎么赋值了半天没变化啊