信息管理系统demo
实现对学生信息的增加、删除、修改 和 查询
(1)数据模型类(model): 定义需要处理的数据类型
"""
信息管理系统demo
实现对学生信息的增加、删除、修改 和 查询
界面视图类(view) : 负责处理页面逻辑
逻辑控制类 (controller) : 负责存储学生信息
数据模型类(model): 定义需要处理的数据类型
"""
class StudentModel:
"""
学生类
"""
def __init__(self,id = 0,name = "",age = 0,score = 0):
self.id = id
self.name = name
self.age = age
self.score = score
@property
def id(self):
return self.__id
@id.setter
def id(self, value):
self.__id = value
@property
def name(self):
return self.__name
@name.setter
def name(self, value):
self.__name = value
@property
def age(self):
return self.__age
@age.setter
def age(self, value):
self.__age = value
@property
def score(self):
return self.__score
@score.setter
def score(self, value):
self.__score = value
(2)逻辑控制类 (controller) : 负责存储学生信息
class StudentManagerController:
"""
控制器类,负责业务逻辑的控制
"""
# 类变量 两个下划线,私有 和@property一起使用,只读属性
__init_id = 100
def __init__(self):
# 学生列表
self.__stu_list = [StudentModel(1,"tom",18,99)]
# 属性:返回学生列表
@property
def get_stu_list(self):
return self.__stu_list
# 添加学生
def add_student(self,stu_info):
# 类变量需要加类名进行访问
StudentManagerController.__init_id += 1
stu_info.id = StudentManagerController.__init_id
self.__stu_list.append(stu_info)
# 删除学生
def remove_student(self,id):
for item in self.__stu_list:
if item.id == id:
self.__stu_list.remove(item)
return True
return False
# 修改学生信息
def update_student(self,stu_info):
for item in self.__stu_list:
if item.id == stu_info.id:
item.name = stu_info.name
item.age = stu_info.age
item.score = stu_info.score
return True
return False
(3)界面视图类(view) : 负责处理页面逻辑
class StudentManagerView:
"""
学生管理器视图
"""
# 构造函数
def __init__(self):
self.__manager = StudentManagerController()
# 展示菜单
def __show_menu(self):
print("1 添加学生~")
print("2 显示学生~")
print("3 删除学生~")
print("4 修改学生~")
print("5 退出系统~")
# 选择菜单功能
def __select_menu(self):
item = input("请输入:")
if item == "1":
self.__input_student()
if item == "2":
self.__output_student(self.__manager.get_stu_list)
if item == "3":
self.__delete_student()
if item == "4":
self.__modify_student()
if item == "5":
exit(1)
def __input_student(self):
name = input("请输入学生姓名:")
age = input("请输入学生年龄:")
score = input("请输入学生分数:")
stu = StudentModel(name,age,score)
self.__manager.add_student(stu)
print("添加学生成功。。。")
def __output_student(self,list):
for item in list:
print("{ id = " + str(item.id),",name = ",item.name,",age = ",str(item.age),",score = ",str(item.score)," }")
def __delete_student(self):
id = input("请输入删除的id")
bool = self.__manager.remove_student(int(id))
if bool:
print("删除成功。。。")
else:
print("删除失败。。。")
def __modify_student(self):
id = input("请输入需要修改的学生编号:")
name = input("请输入新的学生姓名:")
age = input("请输入新的学生年龄:")
score = input("请输入新的学生分数:")
stu_info = StudentModel(int(id),name,int(age),int(score))
bool = self.__manager.update_student(stu_info)
if bool:
print("修改成功。。。")
else:
print("修改失败。。。")
def main(self):
while True:
print("**********学生管理系统****************")
self.__show_menu()
self.__select_menu()
(4)测试
""" 测试 """ view = StudentManagerView() view.main()
**********学生管理系统****************
1 添加学生~
2 显示学生~
3 删除学生~
4 修改学生~
5 退出系统~
请输入:2
{ id = 1 ,name = tom ,age = 18 ,score = 99 }



