2009/07/16

Pythonでフィボナッチ数列に挑戦

この数列はフィボナッチ数列と呼ばれ、最初の数項は
    0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, …
である。定義より、どの項もその前の2つの項の和となっている。
フィボナッチ数:wikipedia
 と言うものを暇だったのでPythonで書いてみた。
#coding:utf-8

def fibo(n):
    list = range(2)
    if n==0 or n==1:
        return n
    for i in range(n):
        if not(i==0 or n==1):
            list.append(list[i] + list[i-1])
    list.remove(0)
    return list
      
ans = fibo(10)
print ans
今回の場合 10回までの答えをリストで返してくれる。
[1, 1, 2, 3, 5, 8, 13, 21, 34, 55]

正直自信がないし、もっときれいに書くこともできると思う。
アルゴリズムも何も考えてない酷いコードの例。