python编写代码:《红楼梦》人物统计。编写程序统计《红楼梦》中前20位出场最多的人物。
时间: 2023-12-31 15:05:36 浏览: 131
好的,我可以帮你编写这个程序。首先,你需要从网络上下载《红楼梦》的文本文件,并把它保存到本地。然后,你可以使用Python内置的字符串处理函数和正则表达式来进行人物统计。
以下是可能的程序实现:
```python
import re
# 读取文件
with open('hongloumeng.txt', 'r', encoding='utf-8') as f:
text = f.read()
# 使用正则表达式匹配人物列表
pattern = re.compile(r'[\u4e00-\u9fa5]{2,4}(?:·[\u4e00-\u9fa5]{2,4})*')
name_list = pattern.findall(text)
# 统计人物出场次数
name_dict = {}
for name in name_list:
if name in name_dict:
name_dict[name] += 1
else:
name_dict[name] = 1
# 按出场次数排序
sorted_name_dict = sorted(name_dict.items(), key=lambda x: x[1], reverse=True)
# 输出前20位出场最多的人物
for i in range(20):
print(sorted_name_dict[i])
```
这个程序首先使用`open()`函数读取保存在本地的《红楼梦》文本文件,然后使用正则表达式匹配出文本中的人物列表。接着,程序使用字典统计每个人物出场的次数,并按照出场次数进行排序。最后,程序输出前20位出场最多的人物。注意,这个程序假设《红楼梦》文本文件编码为UTF-8。如果你的文本文件编码不同,需要相应地修改程序中的`encoding`参数。
阅读全文