我对字典非常陌生,我正在尝试用python实现一个简单的scratable游戏,它返回我输入的每个单词的分数。 但是我不太熟悉字典,我想知道我的代码有什么问题
我编了一本字典,每个字母都有自己的分数
points = {'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}
def scraable():
total_score=0
word=input('Digit a word\n')
for i in word:
total_score=total_score+points[i]
return total_score
print(scraable())
它给了我一个关键错误'p',我不知道这是什么类型的错误
最具python风格的方法是使用理解和
sum
:我们使用
dict.get
来避免字典中没有的东西得到0
点的默认值时出错。 此外,我们使用str.upper
,因为在dict中,所有键都是大写的,所以如果输入是小写的,它将失败("W" != "w"
)如评论中所说,请用大写字母填写如下:
相关问题 更多 >
编程相关推荐