HJ45 名字的漂亮度

描述
给出一个名字,该名字有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

你可能感兴趣的:(HJ45 名字的漂亮度)