以上是生成斐波那契数列的代码,问最后一行是什么意思
并解释一下代码
3条回答 默认 最新
- a5156520 2023-04-07 09:43关注
最后一行的意思是,把back2的值赋值给back1, 再把back1+back2的和赋值给back2。
fib()函数是一个生成器函数,它的作用是,当每次调用next()方法,就可以返回这个函数计算出的当前项的斐波那契数列的值。
测试代码如下:
参考链接:https://www.codenong.com/41615756/https://blog.csdn.net/weixin_44992737/article/details/125860953https://qb.zuoyebang.com/xfe-question/question/b1565033a69fae0837095a71193fcdee.htmldef fib(): # 生成器函数,用于返回当前项斐波那契数列的值 # https://www.codenong.com/41615756/ back1, back2 = 0,1 # back1赋值第一个值0,back2赋值为第二个值1 while True: yield back1 # 返回back1的值,但是函数不会退出,等待下一次调用next()方法 # 下面的作用相当于,把back2的值赋值给back1, back1+back2的和赋值给back2 # back1 back2 back1+back2 # 1 1 2 # print("before: back1=",back1,",back2=",back2) back1,back2 = back2,back1+back2 # print("after: back1=",back1,",back2=",back2) fibNum = fib() for i in range(0,11): # https://blog.csdn.net/weixin_44992737/article/details/125860953 # https://qb.zuoyebang.com/xfe-question/question/b1565033a69fae0837095a71193fcdee.html # 调用next()方法来获取一项斐波那契数列的值 print("斐波那契数列第"+str(i)+"项为:"+str(next(fibNum)))
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报 编辑记录
悬赏问题
- ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
- ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
- ¥15 手机接入宽带网线,如何释放宽带全部速度
- ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
- ¥15 ETLCloud 处理json多层级问题
- ¥15 matlab中使用gurobi时报错
- ¥15 这个主板怎么能扩出一两个sata口
- ¥15 不是,这到底错哪儿了😭
- ¥15 2020长安杯与连接网探
- ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么