写程序,实现以下功能: (1)对文本中每个单词出现的次数进行统计,并将结果输出。 (2)输出出现次数排在前五名的单词。 【提示】 (1)在统计之前需要对文本进行预处理,如去除标点符号(将英文的逗号和句号替换为空格)、统一转为小写。 (2)通过字符串的 split( ) 方法对文本中的单词进行提取,生成一个列表。 (3)遍历列表,对列表中的元素进行统计。统计结果存放在字典中,键表示单词,值表示次数。 输出格式: 一共6行。 第一行为一个字典,表示单词的统计次数,未排序。 第二行到最后一行,表示出现次数排在前五名的单词,一行一个单词。
时间: 2024-03-13 22:43:32 浏览: 79
以下是Python程序实现:
```python
import string
# 定义函数,统计单词出现次数并返回字典
def count_words(text):
# 去除标点符号
for char in string.punctuation:
text = text.replace(char, " ")
# 转为小写
text = text.lower()
# 提取单词并统计
word_list = text.split()
word_count = {}
for word in word_list:
if word in word_count:
word_count[word] += 1
else:
word_count[word] = 1
return word_count
# 读取文本文件并进行处理
with open("text.txt", "r") as f:
text = f.read()
word_count = count_words(text)
# 输出单词出现次数统计结果
print(word_count)
# 输出出现次数排名前五的单词
top_five = sorted(word_count.items(), key=lambda x: x[1], reverse=True)[:5]
for word in top_five:
print(word[0])
```
这里首先定义了一个函数`count_words`,用于统计单词出现次数并返回字典。在函数中,先对文本进行预处理(去除标点符号、转为小写),然后使用字符串的`split()`方法提取单词并统计。统计结果存放在一个字典中,键为单词,值为出现次数。
然后使用`with open()`语句读取文本文件,并调用`count_words`函数进行处理,得到单词出现次数统计结果。最后,输出字典中的内容,以及出现次数排名前五的单词。
阅读全文