python实现学员管理系统(面向对象版)

Kande ·
更新时间:2024-09-20
· 98 次阅读

前言

使用面向对象编程思想完成学员管理系统的开发,具体如下:

系统要求:使用面向对象的方法

系统功能:添加学员、删除学员、修改学员信息、查询学员信息、显示所有学员信息、保存学员信息及退出系统等功能。

分析

角色分析

- 学员
- 管理系统

工作中注意事项

-为了方便维护代码,一般一个角色一个程序文件
- 项目要有主程序入口,习惯称为main.py

创建程序文件

1.创建项目目录,例如:StudentmangerSystem
2.程序文件如下:

程序入口文件:main.py

学员文件:studnet.py

管理系统文件:mangerSystem.py

书写程序

student.py

需求:储存数据的形式:列表存储学员对象

管理系统框架

需求:系统功能循环使用,用户输入不同的功能序号执行不同的功能

步骤:

定义程序入口函数

显示功能菜单

用户输入功能序号

根据用户驶入的功能序号执行不同的功能

定义系统功能函数,添加、删除学员等

student.py

需求是让我们把学员的数据放在列表里面,而且要用到面向对象。由此我们将学员看成是一个类,一个个学员就是实例对象。注意:这个时候列表里放的将是对象,而非其他数据类型。切记切记!

class Student(object):     # 初始化学生类,传入学员的三个参数     def __init__(self,sname,sgender,stel):         self.name = sname         self.gender = sgender         self.tel = stel     # 便于格式化返回字符串,浙江影响到对象的打印     def __str__(self):         return f'{self.name}的性别是{self.gender},电话号码是{self.tel}'

managerSystem

同样也是要用到面向对象,由此,将需求中的各种功能看成是一个个实例方法。
功能面板也看成是一个实例方法
要求使用循环,则需要一个运行程序,将功能面板,实例方法调用。同时使用if判断语句判断将用户输入的功能序号和功能的运行相对应。

from Student import * class managerSystem(object):     # 初始化     def __init__(self):         self.student_list = []     # 定义功能面板     def show_menu(self):         print("请选择如下功能:")         print("1.添加学员")         print("2.删除学员")         print("3.修改学员信息")         print("4.查询学员信息")         print("5.显示所有学员信息")         print("6.保存学员信息")         print("7.退出系统")     # 定义功能函数:添加学员     def student_add(self):         name = input('请输入姓名:')         for i in self.student_list:             if i.name != name:                 gender = input('请输入性别:')                 tel = input('请输入电话号:')                 break             else:                 print('库中已有此人!')         student = Student(name,gender,tel)         self.student_list.append(student)   # 注意:这里加入到列表中的是一个实例对象,打印只会得到一个内存地址     # 定义功能函数:删除学员     def student_del(self):         name = input('请输入删除学员的姓名:')         for i in self.student_list:             if i.name == name:                 del i             else:                 print('查无此人!')     # 定义功能函数:修改信息     def student_change(self):         name = input('请输入姓名:')         for i in self.student_list:             if i.name == name:                 i.gender = input('请输入性别:')                 i.tel = input('请输入电话号:')                 break             else:                 print('查无此人!')     # 定义功能函数:查询功能信息     def student_search(self):         name = input('请输入姓名:')         for i in student_list:             if i.name == name:                 print(f'{i.name}的性别{i.gender}电话号是{i.tel}')                 break             else:                 print('查无此人!')     # 定义功能函数:显示所有信息     def student_show_all(self):         for i in student_list:             print(f'{i.name}的性别是{i.gender}电话号是{i.tel}')     # 定义功能函数:保存学员信息     def student_save(self):         print('保存信息成功!')     # 定义功能函数:退出系统     def student_exit(self):         print('退出成功!')     “”“     定义主运行程序     ”“”     def run(self):         # 定义一个变量,用以跳出循环         i = 0         while i == 0:             srlf.show_menu()             func_sum = input('请输入功能序号:')             if func_sum == '1':                 self.student_add()         # 添加学员             elif func_sum == '2':                 self.student_del()           # 删除学员             elif func_sun == '3':                 self.student_change()       # 修改学员信息             elif func_sum == '4':                 self.student_search()       # 查询学员信息             elif func_sum == '5':                 self.student_show_all()       # 显示所有信息             elif func_sum == '6':                 self.studnet_save()        # 保存信息             else:                 i += 1                     # 当i不等于0时,跳出循环                 self.student_exit()        # 退出程序

main.py

管理学员系统的执行文件

from managerSystem import * if __name__ == '__main__':     Mangersystem = managerSystem()     Mangersystem.run()

最后,这三个文件要在同一个目录下,最好先在pycharm中创建一个项目后,再创建者三个文件。



对象 系统 面向对象 Python

需要 登录 后方可回复, 如果你还没有账号请 注册新账号