Python でフィボナッチ数列

最初の100個のフィボナッチ数のリストを計算する関数を記述せよ。定義では、フィボナッチ数列の最初の2つの数字は0と1で、次の数は前の2つの合計となる。例えば最初の10個のフィボナッチ数列は、0, 1, 1, 2, 3, 5, 8, 13, 21, 34となる。

1時間以内に解けなければプログラマ失格となってしまう5つの問題が話題に | ソフトアンテナブログ

 
コード。

def g():
    a, b = 0, 1
    while True:
        yield a
        a, b = b, a + b
i = g()

def fib(n):
    return [next(i) for _ in range(n)]
    
print(fib(100))

ジェネレータと内包表記を使ってみた。
 
obelisk.hatenablog.com