输入一段英文文本,统计其中每个单词出现的次数

题目描述

输入一段英文文本,统计其中每个单词出现的次数。
要求:
(1)去除文本中的无意义词及标点符号。
无意义词:excludes = {‘the ’,’and’,’to’,’of’,’a’,’be’}
(2)按词频从大到小的顺序输出前10 个单词及词频。

案例代码

import re
from collections import Counter

# 输入英文文本
text = input("请输入英文文本: ")

# 去除标点符号并转换为小写
text = re.sub(r'[^\w\s]', '', text).lower()

# 分割成单词列表
words = text.split()

# 去除无意义词
excludes = {'the', 'and', 'to', 'of', 'a', 'be'}
filtered_words = [word for word in words if word not in excludes]

# 统计单词出现次数
word_counts = Counter(filtered_words)

# 按词频从大到小排序
sorted_word_counts = dict(sorted(word_counts.items(), key=lambda item: item[1], reverse=True))

# 输出前10个单词及词频
top_10_words = list(sorted_word_counts.items())[:10]
for word, count in top_10_words:
    print(f"{word}: {count}")

这段Python程序首先接收用户输入的英文文本,然后去除标点符号并转换为小写,接着将文本分割成单词列表。然后去除无意义词,并利用Counter类统计单词出现次数,最后按词频从大到小排序并输出前10个单词及词频。

运行截图

图片[1]-输入一段英文文本,统计其中每个单词出现的次数-QQ沐编程

© 版权声明
THE END
喜欢就支持一下吧
点赞13赞赏 分享