您好我有一个程序,其中所有值都分配给一个字母,但我无法弄清楚如何编写程序来使用这些值来计算单词的分数
import random
import operator
print("welcome to the letter game challenge")
response=input("enter a word")
print(format(response)) # prints the word you have entered
letterpoints = { "E":(1),
"A":(2),
"R":(3),
"I":(4), #values for each number as shown "i" = 4
"O":(5),
"T":(6),
"N":(7),
"S":(8), # values for each number again "s" = 4
"L":(9),
"C":(10),
"U":(11),
"D":(12),
"P":(13),
"M":(14),
"H":(15),
"G":(16),
"B":(17),
"F":(18),
"Y":(19),
"W":(20),
"K":(21),
"V":(22),
"X":(23),
"Z":(24),
"J":(25),
"Q":(26),
}
sorted(letterpoints.items(), key=operator.itemgetter(1), reverse=True) #sorts lettervalues from high to low
sort = sorted(letterpoints.items(), key=operator.itemgetter(1), reverse=True) #sort function
print(letterpoints)# prints values for letters
print("if you wish to see these results from high to low enter sort")
欢呼声。
答案 0 :(得分:0)
import random
import operator
print("welcome to the letter game challenge")
response=input("enter a word:\n")
print(format(response)) # prints the word you have entered
letterpoints = { "E":(1),
"A":(2),
"R":(3),
"I":(4),#values for each number as shown "i" = 4
"O":(5),
"T":(6),
"N":(7),
"S":(8),# values for each number again "s" = 4
"L":(9),
"C":(10),
"U":(11),
"D":(12),
"P":(13),
"M":(14),
"H":(15),
"G":(16),
"B":(17),
"F":(18),
"Y":(19),
"W":(20),
"K":(21),
"V":(22),
"X":(23),
"Z":(24),
"J":(25),
"Q":(26),
}
response = response.upper()
total = 0
for letter in response:
total += letterpoints.get(letter)
print('your score is {}'.format(total))
如果您的字典中没有空格或任何字符,则将正常工作,否则您将获得TypErrror
答案 1 :(得分:0)
如果答案包含非字母字符(这样的字符在总和中得分为0),这也有效:
score = sum(letterpoints.get(c, 0) for c in response.upper())