给各位介绍下我们今天上课学的内容,利用python实现自动判断成绩等第以及通过的学生成绩数据库。

首先我们来看判断学生成绩等级以及成绩的py文件
#student.py
#定义student父类
class Student:
def __init__(self,name='',grade=0):
self.name=name
self.grade=grade
def setName(self,name):
self.name=name
def setGrade(self,grade):
self.grade=grade
def getName(self):
return self.name
def show(self):
print('%s\t %s'%(self.name,self.calcLevel()))
#定义student子类(根据成绩计算等级)
class LevelSt(Student):
def calcLevel(self):
if self.grade>=90:
return 'A'
elif self.grade>=80:
return 'B'
elif self.grade>=70:
return 'C'
elif self.grade>=60:
return 'D'
else:
return 'E'
#定义student子类(根据成绩判断是否通过)
class PassSt(Student):
def calcLevel(self):
if self.grade>=60:
return '通过'
else:
return '不通过'
再看本程序的主函数
import sys
sys.path.append(r'C:\Users\86138\Desktop\python\第9周\demo\student.py')
import student
def list_St():
listOfSt=[]
flag='Y'
while flag=='Y':
name=input('请输入名字:')
grade=float(input('请输入成绩:'))
choice=input('请输入(L or P):')
if choice.upper()=='L':
s=student.LevelSt(name,grade)
else:
s=student.PassSt(name,grade)
listOfSt.append(s)
flag=input('继续? (y/n):').upper()
return listOfSt
def display(listOfSt):
print('\n姓名 \t 等级')
listOfSt.sort(key=lambda x:x.getName())
for each in listOfSt:
each.show()
def main():
listOfSt=list_St()
display(listOfSt)
main()
本文介绍了如何使用Python创建一个程序,包括定义`Student`和两个子类`LevelSt`与`PassSt`,用于自动计算学生成绩等级和判断是否通过。程序通过主函数调用list_St()和display()函数来管理学生成绩数据库并显示结果。
4374

被折叠的 条评论
为什么被折叠?



