まずはフィボナッチ数列を返す関数の基本的な実装。
- def fib(n):
- if n <= 0:
- return 0
- elif n == 1:
- return 1
- else:
- return fib(n-1) + fib(n-2)
- # print fibonacci number 1st to 10th
- for i in range(10):
- print fib(i)
素朴なやりかたとして皮を一枚かぶせてみる。
- def fib(n):
- if n <= 0:
- return 0
- elif n == 1:
- return 1
- else:
- return fib(n-1) + fib(n-2)
- def fib2(n=0):
- while True:
- yield fib(n)
- n += 1;
- fibonacci = fib2()
- # print fibonacci number 1st to 10th
- for i in range(10):
- print fibonacci.next()
とりあえず当初の目的は達成されたものの、あまり琴線に触れるコードじゃないな。
しかしPythonは書きやすくていいな。