Python3 フィボナッチ数列の色々2(イテレータ)

Share on Facebook
Pocket
LINEで送る
Bookmark this on Google Bookmarks

Python3 フィボナッチ数列の色々(再帰・yield) の続き。

イテレータでフィボナッチ数列

イテレータを使ってフィボナッチ数列を出力してみた。

# -*- coding: utf-8 -*-

class Fib(object):

    def __init__(self, max):
        self.max = max

    def __iter__(self):
        self.a = 1
        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

if __name__ == '__main__':
    
    fib = Fib(1000)
    for x in fib:
        print(x)

Follow me!

Python3 フィボナッチ数列の色々2(イテレータ)” に対して1件のコメントがあります。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です