"""学生管理器系统"""
classStudentModel:"""学生数据模型类"""
def __init__(self, name="", age=0, score=0, id=0):"""创建学生对象
:param id: 编号
:param name: 姓名
:param age: 年龄
:param score: 成绩"""self.id=id
self.name=name
self.age=age
self.score=score
@propertydefid(self):return self.__id@id.setterdefid(self, value):
self.__id =value
@propertydefname(self):return self.__name@name.setterdefname(self, value):
self.__name =value
@propertydefage(self):return self.__age@age.setterdefage(self, value):
self.__age =value
@propertydefscore(self):return self.__score@score.setterdefscore(self, value):
self.__score =valueclassStudentManagerController:"""学生逻辑控制器"""
def __init__(self):
self.__list_stu =[]
@propertydeflist_stu(self):return self.__list_stu
defadd_student(self, stu):"""添加新学生
:param stu: 需要添加的学生对象"""stu.id= self.__generate_id()
self.__list_stu.append(stu)def __generate_id(self):#生成编号的需求:新编号,比上次添加的对象编号多1.
#if len(self.__list_stu) > 0:
#id = self.__list_stu[-1].id + 1
#else:
#id = 1
#return id
return self.__list_stu[-1].id + 1 if len(self.__list_stu) > 0 else 1
#controller = StudentManagerController()#controller.add_student(StudentModel("zs",18,85))#controller.add_student(StudentModel("zs",18,85))#for item in controller.list_stu:#print(item.id,item.name,item.age,item.score)
classStudentManagerView:"""界面视图类"""
def __init__(self):#创建逻辑控制器对象
self.__manager =StudentManagerController()def __input_students(self):#1. 在控制台中录入学生信息,存成学生对象StudentModel.
stu =StudentModel()
stu.name= input("请输入姓名:")
stu.age= int(input("请输入年龄:"))
stu.score= int(input("请输入成绩:"))#2. 调用逻辑控制器的add_student方法
self.__manager.add_student(stu)print(self.__manager)def __display_menu(self):"""显示菜单
:return:"""
print("1) 添加学生")print("2) 显示学生")print("3) 删除学生")print("4) 修改学生")print("5) 按照成绩降序排列")def __select_menu(self):"""选择菜单
:return:"""number= input("请输入选项:")if number == "1":
self.__input_students()elif number == "2":pass
elif number == "3":pass
elif number == "4":pass
elif number == "5":pass
defmain(self):"""界面入口方法
:return:"""
whileTrue:
self.__display_menu()
self.__select_menu()
view=StudentManagerView()
view.main()