学生成绩管理系统
本文章将实现对于学生成绩的简单管理,下面展示实验的要求: 1、创建4个.py模块,在一个包内,模块命名分别为main.py,ui.py,model.py,bll.py。
2、(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 *classStudentManagerController(object): def__init__(self): self.stu_list=[]#定义一个列表 defadd(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)
defshow(self): #2.显示学生列表 if len(self.stu_list) == 0:
print("当前没有任何的学生记录")
self.show_stu()
defdel_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)
defrevise1(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()
defpaixv(self): #5.排序: self.sort_stu(key=lambda s: s.stu_score, reverse=True) # 按照分数排列 self.show_stu()
defadd_stu(self,stu):#添加 self.stu_list.append(stu)#变量加入到列表末尾 #self.stu_dict[stu.stu_id]=stu#列表中嵌套一个字典 defdel_stu(self,stu_id):#删除 #s=self.stu_dict[stu_id] self.stu_list.remove(stu_id)#根据编号删除学生信息 defsort_stu(self,key=None,reverse=False):#排序 key=lambda 变量:变量[维数] 。维数可以按照自己的需要进行设置。 self.stu_list.sort(key=key,reverse=reverse)
defrevise_stu(self,stu1):#修改 a=int(input("输入想要修改学生的位数"))
self.stu_list[a]=stu1
defshow_stu(self):#显示 for s in self.stu_list:#遍历列表 print(s)
三.ui.py
from 成绩管理.bll import *classStudentManagerView(object): def__init__(self): self.mamager=StudentManagerController()#实例化 defshixian(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,还有未来火热的鸿蒙,当各种元素组合在一起,让我们一起脑洞大开共同打造专业、好玩、有价值的开发者社区,帮助开发者实现自我价值!