Pythonのスコープについて
メモ化再帰について勉強しており、c++で書かれた解説をPythonで実装しようとしたところ、PuCharmでスコープの注意メッセージが出てしまいました。
以下のコードでmemoについてshadows name 'memo' from outer scopeと言われてしまうのですが、どうしたら良いのでしょうか。
Python
1def fib(n, memo): 2 if n == 0: 3 return 0 4 elif n == 1: 5 return 1 6 7 if memo[n] != -1: 8 return memo[n] 9 10 memo[n] = fib(n-1, memo) + fib(n-2, memo) 11 return memo[n] 12 13 14memo = [] 15[memo.append(-1) for _ in range(50)] 16for i in range(50): 17 print(fib(i, memo))

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/08/17 12:15