尝试创建python生成器时出现问题
我试图学习如何使用生成器,所以我写了这个,但它总是打印相同的值。为什么? 我希望它生成从999到100的值尝试创建python生成器时出现问题,python,generator,Python,Generator,我试图学习如何使用生成器,所以我写了这个,但它总是打印相同的值。为什么? 我希望它生成从999到100的值 >>> def gen_a(): a=999 while a>99: yield a a-=1 >>> gen_a().next() 999 >>> gen_a().next() 999 >>> gen_a().next() 99
>>> def gen_a():
a=999
while a>99:
yield a
a-=1
>>> gen_a().next()
999
>>> gen_a().next()
999
>>> gen_a().next()
999
因为你正在一次又一次地生成生成器 尝试:
每次都要创建一个新的生成器。请尝试以下方法:
>>> g = gen_a()
>>> g.next()
999
>>> g.next()
998
>>> g.next()
997
是的,我们同时回答,只是我去运行它并粘贴输出,花费了我一分钟的时间;
>>> g = gen_a()
>>> g.next()
999
>>> g.next()
998
>>> g.next()
997