字典内变量取值的关键错误

2024-06-16 11:35:18 发布

您现在位置:Python中文网/ 问答频道 /正文

VOWELS = 'aeiou'
CONSONANTS = 'bcdfghjklmnpqrstvwxyz'
HAND_SIZE = 7

SCRABBLE_LETTER_VALUES = {
    '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 = 'hi'
SCRABBLE_LETTER_VALUES.get(word)

我应该得到h+I的值,但它总是返回NONE或key error


Tags: keynonesizegeterrorhiwordvalues
2条回答

你想通过查字典里的“嗨”来解决这个问题。但你需要做的是代替拼字游戏_值。获取(单词),你需要去:

points = 0    
for character in word:
    points += SCRABBLE_LETTER_VALUES.get(character)

基本上,这不需要遍历变量词中的每一个字母,计算出它值多少分,然后把这个数加到变量点上。你可以替换你的拼字字母_值。获取(单词)上面有我的代码。它应该有用。在

你也可以使用列表理解。我的意思是:

^{pr2}$

这将遍历word中的每个字符,计算出其要点,并列出所有字符的所有点。然后,它将把列表中的所有数字加起来得到总分。这是更复杂,但看起来更简单,更紧凑。在

我希望这有帮助。在

答案(使用list comprehension):

word_value = sum(SCRABBLE_LETTER_VALUES[x] for x in word)
print(word_value)

相关问题 更多 >