编写程序,输入多行英文句子,对每个单词计数,并保存到字典类型map1中。查看map1的内容。按照单词出现的次数从高到低排序,并查看排序后的结果。提示:因为字典类型无法排序,因此需将其转为列表类型再排序。
时间: 2024-09-25 09:01:51 浏览: 38
Java统计英文句子中出现次数最多的单词并计算出现次数的方法
在Python中,你可以通过以下步骤编写这样的程序:
```python
def count_words():
# 创建一个空字典来存储单词及其计数
map1 = {}
while True:
# 输入多行英文句子,直到用户停止输入
sentence = input("请输入英文句子(输入'.'结束):")
if sentence == '.':
break
# 分割句子为单词列表
words = sentence.split()
# 遍历单词并更新字典计数
for word in words:
if word in map1:
map1[word] += 1
else:
map1[word] = 1
# 将字典转换为列表以便排序
word_counts_list = list(map1.items())
# 按照值(单词计数)降序排序
word_counts_list.sort(key=lambda x: x[1], reverse=True)
print("\n单词及其计数:")
for word, count in word_counts_list:
print(f"{word}: {count}")
print("\n排序后的结果:")
for word, _ in word_counts_list:
print(word)
# 调用函数开始计数
count_words()
```
在这个程序中,用户可以逐行输入英文句子,程序会统计每个单词的出现次数,并显示最终的单词计数和按计数排序的结果。
阅读全文