如何计算拼字游戏中整个单词的分数?

问题描述 投票:0回答:2

我可以从一个字母中获取数字,但不能获取整个单词的数字。
我该怎么做?

这是我目前的结果:

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
2个回答
2
投票

您收到错误,因为“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)

0
投票

分数 ={"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)

© www.soinside.com 2019 - 2024. All rights reserved.