编写一个程序,对用户输入的字符串中出现的a~z字母频率进行分析,忽略大小写,采用降序方式输出。
时间: 2024-02-13 09:03:24 浏览: 127
好的,以下是Python的代码实现:
```python
import string
def count_frequency(s):
# 将字符串转换为小写,去除标点符号和空格
s = s.lower().translate(str.maketrans('', '', string.punctuation + ' '))
# 初始化字母频率统计字典
freq = {chr(i): 0 for i in range(ord('a'), ord('z')+1)}
# 统计字母频率
for c in s:
if c.isalpha():
freq[c] += 1
# 按照字母频率进行降序排序
sorted_freq = sorted(freq.items(), key=lambda x: x[1], reverse=True)
return sorted_freq
# 用户输入字符串
s = input("请输入一个字符串:")
# 统计字母频率并输出结果
freq = count_frequency(s)
print("字母频率分析结果:")
for c, f in freq:
print(c + ": " + str(f))
```
在这个程序中,我们首先定义了一个`count_frequency`函数,用于统计字母频率。该函数会将输入字符串转换为小写,并去除标点符号和空格。然后,我们初始化一个字典`freq`,用于存储每个字母的出现次数。接着,我们遍历字符串中的每个字符,如果是字母,则将其出现次数加1。最后,我们使用`sorted`函数对字母频率进行降序排序,并输出结果。
在主程序中,我们首先让用户输入一个字符串,然后调用`count_frequency`函数进行字母频率分析,并输出结果。
阅读全文