[再現可能な例を示すためのコミュニティ編集:]
def main():
e = None
print(locals())
while not e:
try:
raise Exception
except Exception as e:
pass
main()
を生成します
~/coding$ python3.3 quiz2.py
{'e': None}
Traceback (most recent call last):
File "quiz2.py", line 11, in <module>
main()
File "quiz2.py", line 5, in main
while not e:
UnboundLocalError: local variable 'e' referenced before assignment
[編集済み]再現可能なコードを含める
whileループを実行しようとしていますが、使用する条件は、変数がe==None
。関連するコードは次のとおりです。
print("\nThe current score list contains the following people's scores: ")
score_list = open("score_list.dat", "rb")
score_name = []
e = None
while not e:
try:
score = pickle.load(score_list)
name = pickle.load(score_list)
score_name.append([score, name])
except EOFError as e:
pass
score_list_sorted=sorted(score_list)
sort_list.close()
for item in score_list_sorted:
print("Score: ", item[0], "\t", item[1])
完全なコードはここにあります:https://www.dropbox.com/s/llj5xwexzfsoppv/stats_quiz_feb24_2013.py
(クイズを実行するために)必要なデータファイルは、次のリンクにあります。https://www.dropbox.com/s/70pbcb80kss2k9e/stats_quiz.dat
main()
適切なデータファイルアドレスを使用するには、次のように編集する必要があります。
私が受け取った完全なエラーメッセージは以下のとおりです。e
whileループの直前に初期化したので、これは奇妙です。誰かが私がこの問題を解決するのを手伝ってくれることを願っています。ありがとう!
Traceback (most recent call last):
File "<pyshell#217>", line 1, in <module>
main()
File "/Users/Dropbox/folder/stats_quiz_feb24_2013.py", line 83, in main
while not e:
UnboundLocalError: local variable 'e' referenced before assignment