Advertisement

python 会员信息管理系统2.0

阅读量:

问题介绍

综合案例实现:会员管理系统设计与实现-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.py

    
  
    
 class Member:
    
     def __init__(self, name, gender, phone):
    
     self.name = name
    
     self.gender = gender
    
     self.phone = phone
    
  
    
     def __str__(self):
    
     return f"姓名:{self.name},性别:{self.gender},手机号:{self.phone}"
    
    
    
    
    
![](https://ad.itadn.com/c/weblog/blog-img/images/2025-08-17/bxetq28RsuczpWAKC7MlkIYJOU3E.png)
复制代码
 # system.py

    
 from member import Member
    
  
    
 class 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("会员删除成功!")
    
             return
    
     print("查无此人!")
    
  
    
     def modify_member(self, name, new_name, new_gender, new_phone):
    
     for member in self.members:
    
         if member.name == name:
    
             member.name = new_name
    
             member.gender = new_gender
    
             member.phone = new_phone
    
             print("会员信息修改成功!")
    
             return
    
     print("查无此人!")
    
  
    
     def search_member(self, name):
    
     for member in self.members:
    
         if member.name == name:
    
             print(member)
    
             return
    
     print("查无此人!")
    
  
    
     def display_all_members(self):
    
     print("所有会员信息:")
    
     for member in self.members:
    
         print(member)
    
  
    
     def exit_system(self):
    
     print("退出系统,谢谢使用!")
    
     exit()
    
  
    
     @staticmethod
    
     def 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("输入有误,请重新输入!")
    
    
    
    
    
![](https://ad.itadn.com/c/weblog/blog-img/images/2025-08-17/SG3HIEdX2FcD0OjwpL6YiuyZePsn.png)
复制代码
 # main.py

    
 from system import MemberSystem
    
  
    
 if __name__ == "__main__":
    
     system = MemberSystem()
    
     system.run()
    
    
    
    

部分解释

1. 会员类 Membermember.py

  • Member 类包含了会员的基本信息:姓名、性别、手机号。
  • __init__ 方法用于初始化会员对象的属性。
  • __str__ 方法用于返回会员对象的字符串表示,方便打印会员信息

2. 管理系统类 MemberSystemsystem.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()
    
    
    
    
    
![](https://ad.itadn.com/c/weblog/blog-img/images/2025-08-17/vmTrOaNFsL0i2cYAIfjRqxzMP967.png)

全部评论 (0)

还没有任何评论哟~