7.26 作业
发布人:shili8
发布时间:2025-03-13 05:47
阅读次数:0
**作业题目**
###1. 题目描述在一个虚拟世界中,存在着许多不同的角色,每个角色都有自己的特点、技能和属性。我们需要设计一个系统来管理这些角色,并且能够进行相应的操作,如创建角色、修改角色信息、删除角色等。
###2. 系统需求* 能够创建新的角色* 能够修改已有的角色信息* 能够删除不存在的角色* 能够查询所有角色信息* 能够根据条件筛选角色信息###3. 系统设计####3.1 角色类
class Role: def __init__(self, id, name, skill, attribute): """ :param id: int :param name: str :param skill: list :param attribute: dict """ self.id = id self.name = name self.skill = skill self.attribute = attribute def __str__(self): return f"Role(id={self.id}, name='{self.name}', skill={self.skill}, attribute={self.attribute})"
####3.2 角色管理类
class RoleManager: def __init__(self): self.roles = {} def create_role(self, id, name, skill, attribute): """ :param id: int :param name: str :param skill: list :param attribute: dict """ if id in self.roles: print(f"角色ID {id} 已存在") return role = Role(id, name, skill, attribute) self.roles[id] = role print(f"创建角色成功:{role}") def update_role(self, id, name=None, skill=None, attribute=None): """ :param id: int :param name: str :param skill: list :param attribute: dict """ if id not in self.roles: print(f"角色ID {id}不存在") return role = self.roles[id] if name is not None: role.name = name if skill is not None: role.skill = skill if attribute is not None: role.attribute = attribute print(f"更新角色成功:{role}") def delete_role(self, id): """ :param id: int """ if id not in self.roles: print(f"角色ID {id}不存在") return del self.roles[id] print(f"删除角色成功") def get_all_roles(self): return list(self.roles.values()) def query_role_by_id(self, id): return self.roles.get(id) def query_role_by_name(self, name): for role in self.roles.values(): if role.name == name: return role return None# 使用示例role_manager = RoleManager() # 创建角色role_manager.create_role(1, "角色1", ["技能1", "技能2"], {"属性1":1, "属性2":2}) # 查询角色print(role_manager.query_role_by_id(1)) # 更新角色role_manager.update_role(1, name="角色1更新") # 删除角色role_manager.delete_role(1) # 查询所有角色print(role_manager.get_all_roles())
###4. 总结本题目要求设计一个系统来管理角色,并且能够进行相应的操作,如创建角色、修改角色信息、删除角色等。我们使用 Python语言实现了一个 `Role` 类和一个 `RoleManager` 类,分别用于表示角色和管理角色。通过示例代码,我们展示了如何使用这些类来创建角色、更新角色信息、删除角色以及查询所有角色信息。
###5. 提交要求* 提交的代码必须包含上述示例代码* 提交的代码必须能够正确运行并且输出预期结果* 提交的代码必须遵循 Python语言规范和编码风格