请根据以下要求写一段Python 代码 在file.txt文件中输入歌曲《我和我的祖国》的歌词:“我和我的祖国一刻也不能分割无论我走到哪里都流出一首赞歌我歌唱每一座高山我歌唱每一条河袅袅炊烟小小村落路上一道辙我最亲爱的祖国我永远紧依着你的心窝你用你那母亲的脉搏和我诉说我的祖国和我像海和浪花一朵浪是那海的赤子海是那浪的依托每当大海在微笑我就是笑的漩涡我分担着海的忧愁分享海的欢乐我最亲爱的祖国你是大海永不干涸永远给我碧浪清波心中的歌” 设计程序,读取文件内容,并使用jieba库进行中文分词,最后统计出现次数最多的5个词以及出现次数。
时间: 2024-03-15 09:45:22 浏览: 112
好的,根据您的要求,以下是一段可以实现该功能的Python代码:
```python
import jieba
# 写入歌词到文件中
lyrics = "我和我的祖国一刻也不能分割无论我走到哪里都流出一首赞歌我歌唱每一座高山我歌唱每一条河袅袅炊烟小小村落路上一道辙我最亲爱的祖国我永远紧依着你的心窝你用你那母亲的脉搏和我诉说我的祖国和我像海和浪花一朵浪是那海的赤子海是那浪的依托每当大海在微笑我就是笑的漩涡我分担着海的忧愁分享海的欢乐我最亲爱的祖国你是大海永不干涸永远给我碧浪清波心中的歌"
with open("file.txt", "w") as f:
f.write(lyrics)
# 读取文件内容
with open("file.txt", "r") as f:
lyrics = f.read()
# 对歌词进行中文分词
words = jieba.cut(lyrics)
# 统计词频
word_count = {}
for word in words:
if word in word_count:
word_count[word] += 1
else:
word_count[word] = 1
# 获取出现次数最多的5个词及其出现次数
top_words = sorted(word_count.items(), key=lambda x: x[1], reverse=True)[:5]
# 输出结果
print("出现次数最多的5个词及其出现次数:")
for word, count in top_words:
print(word, count)
```
这段代码的大部分与之前的代码相同,只是在前面加了一段将歌词写入到文件中的代码。因此,我们首先定义了歌词的字符串变量`lyrics`,然后使用`with`语句打开名为file.txt的文件,并将文件模式设置为写入模式("w")。在文件对象上调用`write()`方法,将歌词字符串写入到文件中。最后,`with`语句会自动关闭文件,完成文件写入操作。
接着,我们使用`with`语句读取名为file.txt的文件,并将文件内容赋值给`lyrics`变量。然后使用jieba库的`cut()`方法对歌词进行中文分词,并将结果赋值给`words`变量。接着,我们使用一个字典`word_count`来统计每个词出现的次数。最后,我们使用`sorted()`函数对`word_count`字典按照出现次数进行排序,并取出前五个词,将结果赋值给`top_words`变量。最后,我们遍历`top_words`变量,输出每个词及其出现次数。
阅读全文