我是一個'python新手',並試圖掌握字典數據類型的內部工作。昨天晚上,我試圖用openGL程序中的鍵盤輸入作爲控制結構(即switch語句)。Python:使用字典作爲開關不工作
問題是由於某些原因,字典繼續評估所有案例(兩個在這種情況下),而不是從按下的鍵。
下面是一個例子的代碼:
def keyboard(key):
values = {
110: discoMode(),
27: exit()
}
values.get(key, default)()
我花了一個多小時,昨晚試圖找到答案,爲什麼每一個「案例」進行評估,我已經有了一些想法,但無法清楚地找到「爲什麼」問題的答案。
那麼,有人會向我解釋爲什麼當我點擊'n'鍵(ascii表示爲110)時,這段代碼也評估27(ESC鍵)下的條目嗎?
道歉如果這個話題已被毆打致死但我看了,無法輕鬆找到明確的答案(也許我錯過了它)。
謝謝。
並確保'default'的值同樣是一個函數對象(即調用'default()'是合法的,並且做一些合理的事情。) –