我有以下Python代碼:UnboundLocalError嵌套函數的遞歸調用
當我運行它,我得到以下錯誤:
Traceback (most recent call last):
File "ExtendPrefix.py", line 44, in <module>
print find_words("ABCDEFGH")
File "ExtendPrefix.py", line 41, in find_words
extend_prefix('', letters)
File "ExtendPrefix.py", line 38, in extend_prefix
result = extend_prefix(w + L, letters.replace(L, "", 1))
File "ExtendPrefix.py", line 38, in extend_prefix
result = extend_prefix(w + L, letters.replace(L, "", 1))
File "ExtendPrefix.py", line 35, in extend_prefix
if w in WORDS: results.add(w)
UnboundLocalError: local variable 'results' referenced before assignment
它顯然無法找到結果遞歸調用extend_prefix。爲什麼會這樣,我該如何解決它?
我意識到我不應該因爲我正在走狗而設定結果。下一次,我應該在發佈問題之前遛狗! – 2012-08-14 00:50:11
我以前做過很多次相同的事情。在電腦屏幕前幾小時後,我經常需要休息一下來處理我一直在學習的內容:) – 2012-08-14 00:55:07