2019年9月7日 斐波那契数列

复制代码
class Fib:
    def __init__(self):
        self.a=1 #定义启示的两个值
        self.b=1

    def __iter__(self): #设置迭代器协议
        return self

    def __next__(self):
        if self.a>100:
            raise StopIteration
        self.a,self.b=self.b,self.a+self.b #实现斐波那契数列
        #a,b=b,a# 快速交换2个值
        return self.a

f1=Fib()
print(next(f1))
print(next(f1))
print(next(f1))
print(next(f1))
print("++++++++++++++++++++++")
for i in f1:#注意next是不能往回走的
    print(i)
复制代码

》》》》

1
2
3
5
++++++++++++++++++++++
8
13
21
34
55
89
144

posted @ 2019-09-07 21:06  小圣庄  阅读(167)  评论(0)    收藏  举报
编辑推荐:
· 「EF Core」框架是如何识别实体类的属性和主键的
· 独立开发,这条路可行吗?
· 我在厂里搞 wine 的日子
· 如何通过向量化技术比较两段文本是否相似?
· 35+程序员的转型之路:经济寒冬中的希望与策略
阅读排行:
· 推荐 5 款实用的 Docker 可视化管理工具,工作效率翻倍!
· 瞧瞧别人家的接口重试,那叫一个优雅!
· 哥们儿,别光顾着修 Bug,你的人生系统也该打个养老补丁了!
· 独立开发第二周:构建、执行、规划
· JavaScript面试题,为什么[] + 0 = '0', 而{} + 0 = 0?
点击右上角即可分享
微信分享提示