我正在尝试编写一个使用Python字典来计算英语单词的拼字游戏分数的函数。我快到了,但我不断收到烦人的错误:

这是代码:

d = {"0":'blank',
     "1":'A, E, I, L, N, O, R, S, T, U',
     "2":'D, G',
     "3":'B, C, M, P',
     "4":'F, H, V, W, Y',
     "5":'K',
     "8":'J, X',
     "10":'Q, Z',}


w = input("enter a word")

def scrab(w):  #define function
    tot = 0
    w.upper()
    for key in w:
       tot = tot + d[key]

    return tot




scrab(w)

print(tot, w)


输出:

Traceback (most recent call last):
  File "C:/Users/Bola42/Downloads/IsaiahSLab13Dictionary.py", line 65, in <module>
    scrab(w)
  File "C:/Users/Bola42/Downloads/IsaiahSLab13Dictionary.py", line 58, in scrab
    tot = tot + d[key]
KeyError: ' '


帮忙吗?到底是怎么回事?

最佳答案

您将键和值向后移动。您将分数用作字典中的键,并将字母字符串用作值。此外,您没有在输入值上使用strip(),因此您正在处理附带的空格,而不是仅处理字母字符。

关于python - 为什么会收到此KeyError?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58602521/

10-09 08:22