我可以从一个字母中获取数字,但不能获取整个单词的数字。
我该怎么做?
这是我目前的结果:
Enter a word: python
Traceback (most recent call last):
File "program.py", line 11, in <module>
print(SCORES[word])
KeyError: 'python'
这是我尝试过的代码:
SCORES = {'a': 1, 'b': 3, 'c': 3, 'd': 2, 'e': 1, 'f': 4,
'g': 2, 'h': 4, 'i': 1, 'j': 8, 'k': 5, 'l': 1,
'm': 3, 'n': 1, 'o': 1, 'p': 3, 'q': 10, 'r': 1,
's': 1, 't': 1, 'u': 1, 'v': 4, 'w': 4, 'x': 8,
'y': 4, 'z': 10,}
word = input('Enter a word: ')
print(SCORES[word])
这就是我想要得到的:
Enter a word: python
14
您收到错误,因为“python”不是您的
SCORES
字典中的有效键。
为了克服这个问题,您需要一次查找单词中的每个字母。最简单的方法是使用 for 循环:
SCORES = {'a': 1, 'b': 3, 'c': 3, 'd': 2, 'e': 1, 'f': 4,
'g': 2, 'h': 4, 'i': 1, 'j': 8, 'k': 5, 'l': 1,
'm': 3, 'n': 1, 'o': 1, 'p': 3, 'q': 10, 'r': 1,
's': 1, 't': 1, 'u': 1, 'v': 4, 'w': 4, 'x': 8,
'y': 4, 'z': 10,}
word = input('Enter a word: ')
word_score = 0
for letter in word:
word_score += SCORES[letter]
print(word_score)
分数 ={"a":1,"b":3,"c":3,"d":2,"e":1,"f":4,"g":2, “h”:4,“i”:1,“j”:8,“k”:5,“l”:1,“m”:3,“n”:1, “o”:1,“p”:3,“q”:10,“r”:1,“s”:1,“t”:1,“u”:1, “v”:4,“w”:4,“x”:8,“y”:4,“z”:10} st = input("Введите слово: ").lower()
Enter a word
总和 = 0
而 st != "":
对于我在 st:
总和 += 分数[i]
st = input("Введите слово: ").lower()
print("Количество очков в игре: %d"%sum)