简单的学生成绩管理系统

学生成绩管理系统

本文章将实现对于学生成绩的简单管理,下面展示实验的要求:
1、创建4个.py模块,在一个包内,模块命名分别为main.py,ui.py,model.py,bll.py。

2、(1)实现学生管理系统在控制台的输出显示界面如图1所示。

简单的学生成绩管理系统_第1张图片

(2)在model.py模块中建立学生类,其中包含的属性有name,age,score,id。

(3)在bll.py模块中建立学生管理业务逻辑类,即在此模块中实现增加、显示、删除、修改和成绩排序等功能。

(4)在ui.py模块中建立学生管理显示界面。

(5)在main.py模块中实现建立if name == “main”:

提示:本程序首先要建立一个包

一 . model.py

建立学生类

`class Students(object):
    """对一个学生的简单表示"""
    def __init__(self,stu_id,stu_name,stu_age,stu_score):
        """设置属性的初始值"""
        self.stu_name = stu_name  #姓名
        self.stu_id=stu_id#学号
        self.stu_age=stu_age#年龄
        self.stu_score=stu_score#分数
    def __str__(self):
        return '学号:{} 姓名:{} 年龄:{} 成绩:{}'.format(self.stu_id,self.stu_name,self.stu_age,self.stu_score)` 

二.bll.py

`from 成绩管理.model import *
class StudentManagerController(object):
    def __init__(self):
        self.stu_list=[]#定义一个列表
    def add(self):
        #1.添加学生信息
        flase=0
        while flase == 0:
            id = int(input("学号:"))
            if id>0:
                print('重新输入')
            else:
                flase=1
        name=input("姓名:")
        flase = 0
        while flase == 0:
            age = int(input("年龄:"))
            if 0 < age:
                flase = True
            else:
                print('重新输入')
        flase = 0
        while flase == 0:
            score = int(input("成绩:"))
            if 0 < score:
                flase = True
            else:
                print('重新输入')
        flase = 0
        stu = Students(id,name,age,score)
        self.add_stu(stu)
    def show(self):
        #2.显示学生列表
        if len(self.stu_list) == 0:
            print("当前没有任何的学生记录")
        self.show_stu()
    def del_stu1(self):
        #3.删除学生信息
        stu_id = int(input("请输入学号(删除):"))
        stu_id1=stu_id-1
        for stu_id in self.stu_list:
            if stu_id in self.stu_list:
                self.del_stu(stu_id1)
    def revise1(self):
        #4.修改学生
        num = int(input("请输入修改学生的位数:"))
        num1=num-1
        flase = 0
        while flase == 0:
            id1 = int(input("输入新的学号:"))
            if 0 < id1:
                flase = True
            else:
                print('重新输入')
        name1 = input('输入新的姓名:')
        flase = 0
        while flase == 0:
            age1 = int(input("输入新的年龄:"))
            if 0 < age1:
                flase = True
            else:
                print('重新输入')
        flase = 0
        while flase == 0:
            score1 = int(input("输入新的分数:"))
            if 0 < score1:
                flase = True
            else:
                print('重新输入')
        flase = 0
        stu1 = Students(id1,name1,age1, score1)
        self.stu_list[num1] = stu1
        self.show_stu()
    def paixv(self):
        #5.排序:
        self.sort_stu(key=lambda s: s.stu_score, reverse=True)  # 按照分数排列
        self.show_stu()
    def add_stu(self,stu):#添加
        self.stu_list.append(stu)#变量加入到列表末尾
        #self.stu_dict[stu.stu_id]=stu#列表中嵌套一个字典
    def del_stu(self,stu_id):#删除
        #s=self.stu_dict[stu_id]
        self.stu_list.remove(stu_id)#根据编号删除学生信息
    def sort_stu(self,key=None,reverse=False):#排序 key=lambda  变量:变量[维数] 。维数可以按照自己的需要进行设置。
        self.stu_list.sort(key=key,reverse=reverse)
    def revise_stu(self,stu1):#修改
        a=int(input("输入想要修改学生的位数"))
        self.stu_list[a]=stu1
    def show_stu(self):#显示
        for s in self.stu_list:#遍历列表
            print(s)` 

三.ui.py

`from 成绩管理.bll import *
class StudentManagerView(object):
    def __init__(self):
        self.mamager=StudentManagerController()#实例化
    def shixian(self):
        while True:
            #show_menu()#调用ui.py
            print('*' * 20)
            print('1)添加学生')
            print('2)显示学生')
            print('3)删除学生')
            print('4)修改学生')
            print('5)按照成绩降序排列')
            print('0)退出程序')
            print('*' * 20)
            key=int(input("请输入功能:"))
            if key in range(0, 6):
                if key==1:
                    self.mamager.add()
                elif key==2:
                    self.mamager.show()
                elif key==3:
                    self.mamager.del_stu1()
                elif key==4:
                    self.mamager.revise1()
                elif key==5:
                    self.mamager.paixv()
                else:
                    print("退出程序")
                    break
            else:
                print("输入错误!")` 

四.main.py

`from 成绩管理.ui import*
if __name__=="__main__":
    n=StudentManagerView()
    n.shixian()` 

以上就是案例的简单实现。想要的可以私信。

原文链接:https://www.sdk.cn/details/J5rpQ62dDNN287zvBl

SDK社区是一个中立的社区,这里有多样的前端知识,有丰富的api,有爱学习的人工智能开发者,有风趣幽默的开发者带你学python,还有未来火热的鸿蒙,当各种元素组合在一起,让我们一起脑洞大开共同打造专业、好玩、有价值的开发者社区,帮助开发者实现自我价值!

你可能感兴趣的:(python)