1
global res

res = dict()

res[0] = 0

res[1] =1


def fib(n):

    if n in res:
        return res[n]
    else: value = fib(n-1) + fib (n-2) 
    res[n] = value
    print res
    return value


if __name__ == '__main__':

    print fib(10)

ここでは、メイン プロンプトからグローバルに宣言されている res にアクセスしようとしていますが、print res と言うと、古い辞書のみが表示され、fib 関数を呼び出した後でも更新された値は表示されません。私はこれをWindows cmdで実行しています。古い辞書と言うときは、キーとして0と1を持つresを意味します。

4

0 に答える 0