描述
给出一个名字,该名字有26个字符组成,定义这个字符串的“漂亮度”是其所有字母“漂亮度”的总和。
每个字母都有一个“漂亮度”,范围在1到26之间。没有任何两个不同字母拥有相同的“漂亮度”。字母忽略大小写。
给出多个名字,计算每个名字最大可能的“漂亮度”。
本题含有多组数据。
输入描述:
整数N,后续N个名字
输出描述:
每个名称可能的最大漂亮程度
运用好list,会比字典好用
while True:
try:
n = int(input())
for i in range(n):
line = input()
countList = []
temp = set(line) #用set去重,找到不同字母
result = 0 #存漂亮度
for j in temp:
countList.append(line.count(j))
countList.sort(reverse=True) #降序排序
for k in range(len(countList)):
result += countList[k] * (26-k) #countList降序,所以[0]是出现次数最多的,次数乘26,[1]是第二多,乘(26-1)
print(result)
except:
break
网友评论