学生成绩管理系统
本文章将实现对于学生成绩的简单管理,下面展示实验的要求:
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 *
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,还有未来火热的鸿蒙,当各种元素组合在一起,让我们一起脑洞大开共同打造专业、好玩、有价值的开发者社区,帮助开发者实现自我价值!