三国演义python程序
时间: 2024-09-24 15:07:52 浏览: 89
《三国演义》是中国四大名著之一,若想通过Python编写一个简单的三国故事程序,通常我们会考虑创建一个文本游戏或者角色扮演类的小项目。以下是一个简化的例子:
```python
class Character:
def __init__(self, name, role):
self.name = name
self.role = role
class Hero(Character):
def act(self, action):
print(f"{self.name}作为{self.role},选择了{action}")
# 创建角色
刘备 = Hero("刘备", "英雄")
关羽 = Hero("关羽", "武将")
张飞 = Hero("张飞", "猛将")
# 定义行动列表
actions = ["攻城", "防守", "休整"]
# 游戏交互
while True:
刘备.act(input("刘备,请选择行动: "))
关羽.act(input("关羽,请选择行动: "))
张飞.act(input("张飞,请选择行动: "))
#
相关问题
编写一个python程序,统计三国演义里的人物
好的,以下是一个简单的Python程序,用于统计《三国演义》中出现的人物及其出现次数:
```python
import re
# 读取三国演义文本
with open('sgyy.txt', 'r', encoding='utf-8') as f:
sgyy_text = f.read()
# 使用正则表达式匹配人物名称
pattern = re.compile(r'[\u4e00-\u9fa5]{2,5}(?:·[\u4e00-\u9fa5]{2,5})*')
characters = pattern.findall(sgyy_text)
# 统计人物出现次数
character_dict = {}
for character in characters:
if character in character_dict:
character_dict[character] += 1
else:
character_dict[character] = 1
# 打印结果
for character, count in character_dict.items():
print(f'{character}: {count}')
```
你可以将程序保存为一个文件,比如`sgyy_characters.py`,然后在命令行中执行`python sgyy_characters.py`,程序会读取当前目录下的`sgyy.txt`文件(请确保该文件存在,并且是UTF-8编码的文本文件),并输出每个人物的出现次数。
python三国演义人物 统计分析_Python统计三国演义主要人物出场次数
好的,我可以为您介绍如何使用Python进行统计分析,统计三国演义主要人物出场次数。
首先,我们需要将《三国演义》的文本数据导入Python中。您可以在网上搜索到该书的txt格式文件,将其下载到本地。
接着,我们需要使用Python的文件读取功能将文本数据导入到程序中。可以使用以下代码:
```python
with open('三国演义.txt', 'r', encoding='utf-8') as f:
text = f.read()
```
以上代码中,我们使用`open()`函数打开文本文件,并使用`read()`方法读取其中的内容。由于该书是以utf-8编码格式保存的,因此我们需要指定`encoding='utf-8'`来正确读取其中的中文字符。
接下来,我们需要使用Python的正则表达式模块`re`来匹配人物名称。可以使用以下代码:
```python
import re
# 匹配人物名称
pattern = re.compile('[\u4e00-\u9fa5]{2,5}(?:·[\u4e00-\u9fa5]{2,5})*')
names = re.findall(pattern, text)
```
以上代码中,我们使用`re.compile()`函数定义了一个正则表达式模式,用于匹配人物名称。该模式匹配2到5个汉字,中间可以包含一个或多个“·”符号。然后使用`re.findall()`方法在整个文本中查找符合模式的所有字符串,并将其保存在`names`列表中。
最后,我们可以使用Python的`collections`模块中的`Counter`类来统计每个人物出现的次数。可以使用以下代码:
```python
from collections import Counter
# 统计人物出现次数
name_counts = Counter(names)
```
以上代码中,我们使用`Counter`类对`names`列表中的人物名称进行计数,并将结果保存在`name_counts`字典中。
现在,`name_counts`字典中存储了三国演义中所有人物出现的次数。您可以使用以下代码查看前10名出场次数最多的人物:
```python
# 输出前10名出场次数最多的人物
top10 = name_counts.most_common(10)
for name, count in top10:
print(name, count)
```
以上代码中,我们使用`most_common()`方法获取出场次数最多的前10名人物,并使用`for`循环逐个输出其名称和出场次数。
希望以上内容能够帮助您完成Python统计三国演义主要人物出场次数的任务。
阅读全文