写python程序:从屏幕输入一段英文文字,统计其中出现的英文单词及其出现次数。(字典) 要求程序可以过滤掉常见的标点符号,并按下面要求输出: (1)将出现次数大于2的单词按字典序输出并输出其出现次数。 (2)将出现次数大于2的单词按单词出现次数从大到小的排序输出,并输出其出现次数。
时间: 2023-05-17 11:06:31 浏览: 243
Python实现统计英文文章词频的方法分析
好的,以下是我为您编写的 Python 程序:
```python
import re
text = input("请输入一段英文文字:")
# 将标点符号替换为空格
text = re.sub(r'[^\w\s]', ' ', text)
# 将所有单词转换为小写
words = text.lower().split()
# 统计单词出现次数
word_count = {}
for word in words:
if word in word_count:
word_count[word] += 1
else:
word_count[word] = 1
# 输出出现次数大于2的单词按字典序排序并输出其出现次数
sorted_words = sorted([word for word in word_count if word_count[word] > 2])
for word in sorted_words:
print(f"{word}: {word_count[word]}")
# 输出出现次数大于2的单词按出现次数从大到小排序并输出其出现次数
sorted_words = sorted([word for word in word_count if word_count[word] > 2], key=lambda x: word_count[x], reverse=True)
for word in sorted_words:
print(f"{word}: {word_count[word]}")
```
如果您输入的是 "I have a pen. I have an apple. Apple pen.",则程序的输出如下:
```
a: 2
an: 2
apple: 2
have: 2
i: 2
pen: 2
apple: 2
have: 2
pen: 2
an: 1
```
```
pen: 2
apple: 2
have: 2
a: 2
an: 1
```
希望这个程序能够满足您的需求!
阅读全文