栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python基础(学生管理系统demo)

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python基础(学生管理系统demo)

信息管理系统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  }
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/487755.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号