【发布时间】:2014-03-08 13:56:07
【问题描述】:
我是 Python 业余爱好者,正在尝试编写代码来生成斐波那契数列,但遇到了一个奇怪的行为。
>>> def F(num): #line1
a,b = 1,2 #line2
yield a #line3
yield b #line4
while num>2: #line5
a,b = b,a+b #line6
yield b #line7
>>> gen = F(10) #line8
>>> #line9
代码中的while 循环是一个无限循环。我的问题是,如果循环没有结束,那么#line8 是如何完成执行的?
谢谢!!
【问题讨论】:
-
你知道
yield做什么以及生成器是如何工作的吗?
标签: python python-2.7