#著名的斐波拉契数列(Fibonacci),除第一个和第二个数外,任意一个数都可由前两个数相加得
到:
1, 1, 2, 3, 5, 8, 13, 21, 34, …
#斐波拉契数列用列表生成式写不出来,但是,用函数把它打印出来却很容
def fbnq(num):
a=0
b=1
current_index=0 #当前下标
while current_index<num:
result= a
a,b =b,a+b
current_index+=1
#程序遇到yield返回值之后会暂停,下次执行时会从这里开始,当后面遇到return时会立即结束迭代
yield result #一个函数中出现yield,则说明该函数是生成器
# return "haha"
if name == ‘main’:
ret=fbnq(3)
# while True:
# try:
# ret1=(next(ret)
## print(ret1)
# except StopIteration as e:
# print(e.value)
print(next(ret))
print(next(ret))
print(next(ret))
#溢出报错
# print(next(ret))
# for i in ret:
# print(i)