关闭

Python斐波拉契生成器与迭代器

497人阅读 评论(0) 收藏 举报
分类:
迭代器:
class Fib:                                        ①
    def __init__(self, max):                      ②
        self.max = max

    def __iter__(self):                           ③
        self.a = 0
        self.b = 1
        return self

    def __next__(self):                           ④
        fib = self.a
        if fib > self.max:
            raise StopIteration                   ⑤
        self.a, self.b = self.b, self.a + self.b
        return fib                                ⑥
生成器:
def fib(max):
    a, b = 0, 1          ①
    while a < max:
       yield a          ②
        a, b = b, a + b  ③

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:140387次
    • 积分:1960
    • 等级:
    • 排名:千里之外
    • 原创:23篇
    • 转载:223篇
    • 译文:0篇
    • 评论:9条
    最新评论