网站建设收费,可以注册的网站,沧州南皮网站建设公司,新开传奇网站发布网单职业问题介绍 综合案例实现#xff1a;会员管理系统设计与实现-V3
利用所学习的知识点 ,结合会员管理系统的分析与实现#xff0c; 了解面向对象开发过程中类内部功能的分析方法#xff0c;系统讲解 Python语法、控制结构、四种典型序列 ,函数定义以及面向对象语法和模块的应用…问题介绍 综合案例实现会员管理系统设计与实现-V3
利用所学习的知识点 ,结合会员管理系统的分析与实现 了解面向对象开发过程中类内部功能的分析方法系统讲解 Python语法、控制结构、四种典型序列 ,函数定义以及面向对象语法和模块的应用。使用面向对象的思想
面向对象编程思想完成会员管理系统的开发 具体要求如下。 (1)系统功能添加会员、删除会员、修改会员信息 ,查询会员信息、显示所有会员信息及退出系统等功能。 该系统从角色分析来看可以分为 会员和管理系统。 为了方便维护代码一般一个角色一个程序文件。--会员模块--10分管理系统模块中添加会员--30分、删除会员--10分、修改会员信息--10分 ,查询会员信息--10分、显示所有会员信息--10分及退出系统--10分总共90分
(2)系统设计。 项目要有主程序入口习惯为main.py或者自定义py程序。--10分
按要求踩点给分(截图截不全的可酌情扣分)
其中具体要求为
一会员当中包含姓名、性别、手机号等基本信息。
二管理系统包含系统功能各个的具体定义。主要实现添加删除修改查询显示所有信息等功能。使用实例方法、静态方法
显示功能菜单、用户输入功能序号然后根据用户输入的功能序号执行不同的功能。
1添加功能通过用户输入会员姓名、性别、手机号将会员添加到系统中打印添加此会员的信息添加成功而且打印添加过的会员列表信息。提示思路用户输入姓名、性别、手机号然后创建该会员对象最后将该会员添加到列表中
2删除功能用户输入目标会员姓名如果会员存在则删除会员。提示思路用户输入目标会员姓名然后遍历会员数据列表如果用户输入的会员姓名存在则删除否则提示该会员不存在查无此人
3修改功能用户输入目标会员姓名如果会员存在则修改该会员信息。提示思路首先用户输入目标会员姓名然后遍历会员姓名数据列表如果用户输入的会员姓名存在则修改会员的姓名、性别、手机号否则提示该会员不存在。
4查询功能用户输入目标会员姓名如果会员存在则打印该会员信息。提示思路首先用户输入目标会员姓名然后遍历会员数据列表如果用户输入的会员姓名存在则打印会员信息否则提示该会员不存在。
5显示全部会员信息功能显示所有会员信息通过遍历会员数据列表打印所有会员信息。
三在main.py启动管理系统。利用模块导入功能import
代码展示
# member.pyclass Member:def __init__(self, name, gender, phone):self.name nameself.gender genderself.phone phonedef __str__(self):return f姓名{self.name}性别{self.gender}手机号{self.phone}# system.py
from member import Memberclass MemberSystem:def __init__(self):self.members []def add_member(self, name, gender, phone):member Member(name, gender, phone)self.members.append(member)print(会员添加成功)self.display_all_members()def delete_member(self, name):for member in self.members:if member.name name:self.members.remove(member)print(会员删除成功)returnprint(查无此人)def modify_member(self, name, new_name, new_gender, new_phone):for member in self.members:if member.name name:member.name new_namemember.gender new_gendermember.phone new_phoneprint(会员信息修改成功)returnprint(查无此人)def search_member(self, name):for member in self.members:if member.name name:print(member)returnprint(查无此人)def display_all_members(self):print(所有会员信息)for member in self.members:print(member)def exit_system(self):print(退出系统谢谢使用)exit()staticmethoddef display_menu():print( 会员管理系统 )print(1. 添加会员)print(2. 删除会员)print(3. 修改会员信息)print(4. 查询会员信息)print(5. 显示所有会员信息)print(6. 退出系统)def run(self):while True:self.display_menu()choice input(请输入功能序号)if choice 1:name input(请输入会员姓名)gender input(请输入会员性别)phone input(请输入会员手机号)self.add_member(name, gender, phone)elif choice 2:name input(请输入要删除的会员姓名)self.delete_member(name)elif choice 3:name input(请输入要修改的会员姓名)new_name input(请输入新的会员姓名)new_gender input(请输入新的会员性别)new_phone input(请输入新的会员手机号)self.modify_member(name, new_name, new_gender, new_phone)elif choice 4:name input(请输入要查询的会员姓名)self.search_member(name)elif choice 5:self.display_all_members()elif choice 6:self.exit_system()else:print(输入有误请重新输入)# main.py
from system import MemberSystemif __name__ __main__:system MemberSystem()system.run()部分解释
1. 会员类 Member member.py
Member 类包含了会员的基本信息姓名、性别、手机号。__init__ 方法用于初始化会员对象的属性。__str__ 方法用于返回会员对象的字符串表示方便打印会员信息 2. 管理系统类 MemberSystem system.py
MemberSystem 类包含了会员管理系统的各项功能。__init__ 方法用于初始化会员列表存储所有会员对象。add_member(self, name, gender, phone)添加会员信息到系统中并打印添加成功信息。delete_member(self, name)根据会员姓名删除会员信息。modify_member(self, name, new_name, new_gender, new_phone)根据会员姓名修改会员信息。search_member(self, name)根据会员姓名查询会员信息。display_all_members(self)显示所有会员信息。exit_system(self)退出系统。display_menu(self)显示系统功能菜单。run(self)启动系统接受用户输入的功能序号并执行相应功能 3. 主程序入口 main.py
main.py 是整个程序的入口通过导入 MemberSystem 类来启动会员管理系统
补充
staticmethod 是 Python 中的一个装饰器Decorator。当一个方法被 staticmethod 装饰时它就成为了一个静态方法。静态方法不需要访问类的实例即不需要 self 参数因此可以在不创建类实例的情况下调用。
在上面的代码中display_menu 方法被 staticmethod 装饰这意味着你可以通过类名直接调用该方法而不需要创建 MemberSystem 类的实例。例如
python MemberSystem.display_menu()
这样就能够显示会员管理系统的菜单而不需要先创建 MemberSystem 对象。
可以通过添加以下代码对会员姓名电话号码的输入进行限制
def add_member(self, name, gender, phone):# 验证手机号格式是否正确if not phone.isdigit() or len(phone) ! 11:print(手机号格式不正确请输入11位数字)return# 验证姓名是否为空if not name:print(姓名不能为空)return# 验证姓名是否已存在for member in self.members:if member.name name:print(姓名已存在请重新输入)return# 添加会员member Member(name, gender, phone)self.members.append(member)print(会员添加成功)self.display_all_members()