Python3 フィボナッチ数列の色々2(イテレータ)
Python3 フィボナッチ数列の色々(再帰・yield) の続き。
[amazonjs asin="B00XZTYMG6″ locale="JP" title="Pythonプロフェッショナルプログラミング 第2版"]
イテレータでフィボナッチ数列
イテレータを使ってフィボナッチ数列を出力してみた。
[python title="イテレータでフィボナッチ数列"]
# -*- 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)
[/python]
ディスカッション
ピンバック & トラックバック一覧
[…] [4] Python3 フィボナッチ数列の色々2(イテレータ)-from umentu import stupid […]