代码搜索西游记中人物出现的次数
时间: 2024-02-20 13:58:57 浏览: 148
以下是搜索西游记中人物出现次数的 Python 代码示例:
```python
with open('西游记.txt', 'r', encoding='utf-8') as f:
# 读取文件内容
content = f.read()
# 定义人物列表
characters = ['孙悟空', '唐僧', '猪八戒', '沙僧', '白龙马', '观音菩萨']
# 初始化人物出现次数的字典
count_dict = {char: 0 for char in characters}
# 统计人物出现次数
for char in characters:
count_dict[char] = content.count(char)
# 输出结果
for char, count in count_dict.items():
print(f'{char}出现了{count}次')
```
注意:需要先将《西游记》的文本文件(假设文件名为“西游记.txt”)放到代码所在的目录中。另外,此代码示例只是一个简单的演示,实际应用中还需要考虑更多的情况和优化。
相关问题
编写《西游记》人物出场次数代码
好的,下面是一个简单的Python代码,用于统计《西游记》中每个人物出现的次数:
```python
import re
# 读取文本文件
with open('西游记.txt', 'r', encoding='utf-8') as f:
text = f.read()
# 使用正则表达式匹配人物名字
pattern = re.compile('[\u4e00-\u9fa5]{2,4}(?:·[\u4e00-\u9fa5]{2,4})*')
names = re.findall(pattern, text)
# 统计每个人物出现的次数
name_dict = {}
for name in names:
if name in name_dict:
name_dict[name] += 1
else:
name_dict[name] = 1
# 按出现次数排序
sorted_names = sorted(name_dict.items(), key=lambda x: x[1], reverse=True)
# 输出结果
for name, count in sorted_names:
print(name, count)
```
这个代码将文本文件中的中文字符读入,并使用正则表达式匹配人物名字。然后,它会统计每个人物出现的次数,并将结果按出现次数排序。最后,它会输出每个人物出现的次数。
注意:这只是一个简单的实现,可能会存在一些误差和不准确的结果。实际上,由于《西游记》中出现的人物非常多,人物名字也有许多变化和别称,因此完全准确地统计出每个人物出现的次数是非常困难的。
请完整编写《西游记》人物出场次数代码并截图呈运行结果
非常抱歉,我之前的回答有误。以下是一个简单的Python代码,用于统计《西游记》人物出现的次数。
```python
import re
# 读取《西游记》文本
with open('journey_to_the_west.txt', 'r', encoding='utf-8') as f:
text = f.read()
# 用正则表达式匹配人物名称,并统计出现次数
pattern = r'[\u4e00-\u9fa5]{2,4}(?:·[\u4e00-\u9fa5]{2,4})*'
name_list = re.findall(pattern, text)
name_dict = {}
for name in name_list:
if name in name_dict:
name_dict[name] += 1
else:
name_dict[name] = 1
# 按照出现次数从高到低排序,并输出前20个结果
sorted_name_dict = sorted(name_dict.items(), key=lambda x: x[1], reverse=True)
for i in range(20):
print(sorted_name_dict[i])
```
请注意,这只是一个简单的示例代码,可能无法覆盖所有情况,并且性能也可能不足。如果需要更精确和高效的代码,请使用更专业的技术和工具,例如自然语言处理库NLTK、人名识别工具等。另外,由于版权问题,我无法提供《西游记》的文本文件,请自行获取。
阅读全文