N = int(input()) # 输入整数N for _ in range(N): s = input().lower() # 输入字符串并转换为小写 freq = {} # 统计字母出现频率的字典 for char in s: if char.isalpha(): freq[char] = freq.get(char, 0) + 1 sorted_freq = sorted(freq.items(), key=lambda x: x[1], reverse=True) # 按出现频率排序 beauty = 26 # 漂亮度 total = 0 # 最大漂亮度总和 for _, count in sorted_freq: total += beauty * count beauty -= 1 print(total)把每个字符串的漂亮度在最后分别列出来怎么改
时间: 2024-04-21 13:23:20 浏览: 67
python学习记录(控制流)
要在最后分别列出每个字符串的漂亮度你可以创建一个列表来存储每个字符串的漂亮度,然后在循环结束后打印该列表。具体的修改如下:
```python
N = int(input()) # 输入整数N
beauty_scores = [] # 存储每个字符串的漂亮度
for _ in range(N):
s = input().lower() # 输入字符串并转换为小写
freq = {} # 统计字母出现频率的字典
for char in s:
if char.isalpha():
freq[char] = freq.get(char, 0) + 1
sorted_freq = sorted(freq.items(), key=lambda x: x[1], reverse=True) # 按出现频率排序
beauty = 26 # 漂亮度
total = 0 # 最大漂亮度总和
for _, count in sorted_freq:
total += beauty * count
beauty -= 1
beauty_scores.append(total) # 将漂亮度添加到列表中
for score in beauty_scores:
print(score) # 打印每个字符串的漂亮度
```
这样修改后,程序会将每个字符串的漂亮度存储在 `beauty_scores` 列表中,然后通过循环遍历该列表并打印出每个字符串的漂亮度。
希望这样修改能够满足你的要求。如果还有其他问题,请随时提问。
阅读全文