《西游记》人物统计。编写程序统计《西游记》中前15位出场最多的人物。
时间: 2023-08-20 12:03:55 浏览: 495
好的,这里提供一种Python实现的方法:
```python
import jieba
# 读取文本文件
with open("西游记.txt", "r", encoding="utf-8") as f:
text = f.read()
# 使用结巴分词对文本进行分词
words = jieba.lcut(text)
# 统计人物出现次数
counts = {}
for i in range(len(words)-1):
if words[i] == "唐僧" and words[i+1] != "师傅":
# 特殊处理唐僧和师傅两个词的组合
word = "唐僧" + words[i+1]
i += 1
else:
word = words[i]
if len(word) == 1:
# 排除单个字的情况
continue
if word in counts:
counts[word] += 1
else:
counts[word] = 1
# 按出现次数排序,取前15个
top15 = sorted(counts.items(), key=lambda x: x[1], reverse=True)[:15]
# 输出结果
print("前15位出场最多的人物:")
for i, (name, count) in enumerate(top15):
print("{:>2}. {:<10} {:>5}次".format(i+1, name, count))
```
其中,需要注意的是:
- 需要使用结巴分词对文本进行分词。
- 要排除单个字的情况,因为单个字很可能是标点符号或者其他无意义的词语。
- 需要特殊处理“唐僧师傅”这个组合词,将其看作一个人物名。
你可以将程序保存为一个.py文件,然后将《西游记》的文本保存为一个txt文件,放在同一目录下,运行程序即可。
阅读全文