使用变量Key返回dict值

时间:2016-08-09 15:04:13

标签: python dictionary key

我正在使用单词中的字符来搜索字典的键。字典是SCRABBLE_LETTER_VALUES:{'a':1,'b':3,...}等等。

这是我不完整的代码:

"""  
Just a test example
word = 'pie'
n = 3
"""

def get_word_score(word, n):
"""
Returns the score for a word. Assumes the word is a
valid word.

The score for a word is the sum of the points for letters
in the word multiplied by the length of the word, plus 50
points if all n letters are used on the first go.

Letters are scored as in Scrabble; A is worth 1, B is
worth 3, C is worth 3, D is worth 2, E is worth 1, and so on.

word: string (lowercase letters)
returns: int >= 0
"""
 score = 0
 for c in word:
   if SCRABBLE_LETTER_VALUES.has_key(c):
     score += SCRABBLE_LETTER_VALUES.get("""value""")

现在这段代码是不完整的,因为我还在学习python,所以我仍然在考虑这个问题,但我仍然坚持使用改变每次迭代的键返回一个值。

我的意思是,我可以设置c等于它匹配的键,然后返回值,但我不知道该怎么做。此外,我想检查一下我是否确实在正确的思维过程中,可以这么说。

仅供参考这个代码库确实成功进入循环,我根本无法检索该值。

感谢您的建议!

2 个答案:

答案 0 :(得分:2)

您可以执行以下操作:

for
如果字典包含密钥,

score = 0 for c in word: score += SCRABBLE_LETTER_VALUES.get(c, 0) return score 将返回密钥的值,否则它将返回作为第二个参数传递的默认值(在代码段中为0)。

答案 1 :(得分:-1)

在每次迭代中,./destdir都放置零。您应该在ul { list-style: none; } li:before { content: 'Log'; padding-right: 5px; } 循环之前初始化它。

score