python3 生成器 yield的使用以及实现斐波那契数列

‘’‘用生成器实现斐波那契数列’’’
‘’‘如果一个函数里面出现yield就表示这是生成器’’’
‘’‘yield特点:程序在执行的时候遇到yield会暂停执行,如果yield后面有返回值,
先返回值再暂停,再次启动生成器获取数据的时候会从暂停的地方开始执行’’’
‘’‘return只返回一次值,后面的代码不执行
yield可以多次返回值’’’
def fibo(num):
a=0
b=0
current_index = 0
print(‘cccccccccccccccccccccccccccccccccc’)
while current_index < num:
result = a
a,b = b,a+b
current_index += 1
print(‘aaaaaaaaaaaaaaaaaaaaaaa’)
yield result#返回a
print(‘bbbbbbbbbbbbbbbbbbbbbbb’)
return ‘ok’

if name == ‘main’:
ret=fibo(3)
print(next(ret))
# for i in ret:
# print(i)
while True:
try:
result1=next(ret)
print(result1)
except StopIteration as e:
print(e.value)
break
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值