python面向对象版学员管理系统

前言

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

  • 系统要求:使用面向对象的方法
  • 系统功能:添加学员、删除学员、修改学员信息、查询学员信息、显示所有学员信息、保存学员信息及退出系统等功能。

分析

  • 角色分析
    - 学员
    - 管理系统
  • 工作中注意事项
    -为了方便维护代码,一般一个角色一个程序文件
    - 项目要有主程序入口,习惯称为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中创建一个项目后,再创建者三个文件。

  • 0
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值