问题:最近在廖雪峰老师的python教程,学习到生成器时,有个事例代码,如图所示:

然后我就照着这个代码敲了一遍,但是并没有得到1,3,5的结果,代码如下:
##定义一个生成器generation函数,依次返回1,3,5
def odd():
print('step 1')
yield 1
print('step 2')
yield(3)
print('step 3')
yield(5)
o = odd()
next(o)
next(o)
next(o)
输出结果:

请问这是为什么,我实在是想不出来了
Python生成器问题:预期结果与实际不符,
在学习廖雪峰老师的Python教程中,关于生成器的部分,示例代码应返回1,3,5,但实际运行时用户没有得到预期结果。用户创建了一个名为odd的生成器函数,使用yield语句生成序列,但在调用next()函数获取生成器的值时,输出结果未显示1,3,5。
638

被折叠的 条评论
为什么被折叠?



