如何输出单词PYTHON的分数
您好,我有一个程序,它将所有的值都分配给一个字母,但我不知道如何编写程序来使用这些值计算单词的分数如何输出单词PYTHON的分数,python,sorting,Python,Sorting,您好,我有一个程序,它将所有的值都分配给一个字母,但我不知道如何编写程序来使用这些值计算单词的分数 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),
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")
干杯
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))
如果没有空格或字典中找不到的任何字符,则可以正常工作,否则您将得到
类型错误如果答案包含非字母字符(此类字符的总分为0),此操作也有效:
像ABE这样的词等于20吗?你能举例说明你想做什么吗?为了达到这个目的,你尝试了什么?例如car=15(10+2+3),ABE等于20。这就是我试图通过这个项目实现的目标。要根据每个字母的值将单词转换成一个值,如果这个或任何答案已经解决了你的问题,请考虑通过点击复选标记来接受它。这向更广泛的社区表明,你已经找到了一个解决方案,并给回答者和你自己带来了一些声誉。没有义务这样做。
score = sum(letterpoints.get(c, 0) for c in response.upper())