Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
尝试创建python生成器时出现问题_Python_Generator - Fatal编程技术网

尝试创建python生成器时出现问题

尝试创建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

我试图学习如何使用生成器,所以我写了这个,但它总是打印相同的值。为什么?

我希望它生成从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()
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