代码如下:
a = 9
def gen(x):
while x >= 0:
yield x
x -= 1
g = gen(a)
for i in g:
print(g.__next__())
其输出结果如下:
8
6
4
2
0
第7行for循环明明循环了10次,但是结果却只出现了5个数字。为什么?
代码如下:
a = 9
def gen(x):
while x >= 0:
yield x
x -= 1
g = gen(a)
for i in g:
print(g.__next__())
其输出结果如下:
8
6
4
2
0
第7行for循环明明循环了10次,但是结果却只出现了5个数字。为什么?
print(i)就行了,i就是迭代器从g里取出来的对象,你又执行g.__next__()
相当于每个周期从里面取出来两个对象,一个给i,一个打印
要么你改用while循环,别用for了