从屏幕输入一段英文文字,统计其中出现的英文单词及其出现次数。(字典) 要求程序可以过滤掉常见的标点符号,并按下面要求输出: (1)将出现次数大于2的单词按字典序输出并输出其出现次数。 (2)将出现次数大于2的单词按单词出现次数从大到小的排序输出,并输出其出现次数。
时间: 2023-05-20 20:04:01 浏览: 75
统计指定的文本文件(英文)中,每个单词的出现频率,输出按字典序排列的单词频度表。
我可以回答这个问题。以下是代码:
```python
import re
from collections import Counter
def count_words(text):
# 将文本中的标点符号替换为空格
text = re.sub(r'[^\w\s]', ' ', text)
# 将文本中的单词转换为小写
words = text.lower().split()
# 统计单词出现次数
word_counts = Counter(words)
# 输出出现次数大于2的单词及其出现次数
print("按字典序输出:")
for word, count in sorted(word_counts.items()):
if count > 2:
print(f"{word}: {count}")
# 输出出现次数大于2的单词按出现次数从大到小排序及其出现次数
print("按出现次数从大到小排序输出:")
for word, count in sorted(word_counts.items(), key=lambda x: x[1], reverse=True):
if count > 2:
print(f"{word}: {count}")
# 测试代码
text = input("请输入一段英文文字:")
count_words(text)
```
输入一段英文文字后,程序会输出按字典序排序的出现次数大于2的单词及其出现次数,以及按出现次数从大到小排序的出现次数大于2的单词及其出现次数。
阅读全文