由用户输入若干个英文字母或单词,空格分隔。编写程序统计这些字母或单词的出现频率,按升序保存为:“字母(单词):出现的次数”,输出该结果。如果用户直接输入回车,提示“请输入数据!”;如果用户输入数据中包含非法数据,系统提示“请全部输入英文字母或单词!”
时间: 2024-02-23 16:58:15 浏览: 45
输入200字符以上英文文章,统计各字母出现次数并输出
5星 · 资源好评率100%
好的,以下是Python的实现代码:
```python
import string
def count_word_frequency():
# 获取用户输入的字符串
user_input = input("请输入英文字母或单词,以空格分隔:")
# 判断用户是否输入
if not user_input:
print("请输入数据!")
return
# 去除用户输入字符串中的标点符号
user_input = user_input.translate(str.maketrans("", "", string.punctuation))
# 判断用户输入是否合法
if not user_input.isalpha() and not user_input.isspace():
print("请全部输入英文字母或单词!")
return
# 将字符串转换为列表
word_list = user_input.split()
# 统计单词出现频率
word_dict = {}
for word in word_list:
if word in word_dict:
word_dict[word] += 1
else:
word_dict[word] = 1
# 按照出现频率升序排序
sorted_word_dict = sorted(word_dict.items(), key=lambda x: x[1])
# 输出结果
for item in sorted_word_dict:
print("{}:{}".format(item[0], item[1]))
count_word_frequency()
```
希望能够帮到你!
阅读全文