[英]Dictionary KeyError when extending
當用戶完成測驗時,我正在嘗試擴展字典。 我期待到最后三輪成績僅存儲用戶,但我得到一個KeyError
,當我嘗試將其添加到空字典和unhashable列表錯誤,當我嘗試實施比分為列表。
studentScores = {}
def quiz():
print("WELCOME TO THE MATH QUIZ\n")
global student
student = input("What is your name? ")
global classname
classname = input("Which class are you in? (1, 2, 3) ")
global score
score = 0
def addDict():
global student
global classname
global score
score = str(score)
studentScores[student + classname, score]
print(studentScores)
如評論中所述,問題出在這條線上:
studentScores[student + classname, score]
這行的作用:它創建的元組 (student + classname, score)
並使用元組作為重點字典。 並且由於該鍵不存在,因此引發了異常。
>>> student = "foo"
>>> classname = "bar"
>>> score = 0
>>> studentScores = {}
>>> studentScores[student + classname, score]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
KeyError: ('foobar', 0)
相反,您只想使用student + classname
作為鍵,並為其分配 score
的值。
>>> studentScores[student + classname] = score
>>> studentScores
>>> {'foobar': 0}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.