题解 | #名字的漂亮度#
名字的漂亮度
https://www.nowcoder.com/practice/02cb8d3597cf416d9f6ae1b9ddc4fde3
n = int(input())
ent_list = []
for i in range(n):
ent = input().strip()
ent_list.append(ent.lower())
let_list = []
for i in ent_list:
ls = []
for j in range(len(i)):
ls.append(i[j])
let_list.append(ls)
def repeat_info(letters):
diff_letters = list(set(letters))
counts = []
for i in range(len(diff_letters)):
counts.append(0)
for i in range(len(letters)):
for j in range(len(diff_letters)):
if diff_letters[j] == letters[i]:
counts[j] = counts[j] + 1
diff_dict = sorted(dict(zip(diff_letters,counts)).items(), key=lambda x: x[1], reverse=True)
return diff_dict
def word_score(diff_dict):
score = 26
word_score = 0
for i in range(len(diff_dict)):
word_score += score * diff_dict[i][1]
score -= 1
return word_score
total_score = []
for i in let_list:
diff_dicts = repeat_info(i)
let_score = word_score(diff_dicts)
total_score.append(let_score)
for i in total_score:
print(i)


