做一个学生信息查询系统,输入信息之后,选择修改信息,总成绩all是用列表做的,我想的是列表可以用sort函数直接排序,字典不行,但是不会删除修改之前的总成绩,
也就是修改之前的成绩和修改后的成绩并存了。想知道怎么删除之前的成绩
class student(object):#定义学生类
def __init__(self):
self.student={}
self.all=[]
self.name=[]
self.ID={}
self.chinese={}
self.math={}
self.english={}
self.sports={}
self.scores={}
def input(self):#录入学生信息
"""录入学生姓名以及成绩"""
student_name=input("Please enter student's name:")
student_ID=input("Please enter student ID:")
chinese_grade=input("Please enter student's Chinses grade:")
math_grade=input("Please enter student's Math grade:")
english_grade=input("Please enter student's english grede:")
sports_grade=input("Please enter student's sport grade:")
scores=int(chinese_grade)+int(math_grade)+int(english_grade)+int(sports_grade)#计算总分
print("total score is:",int(scores))
"""将输入的信息储存"""
self.student[student_name]=student_name
self.ID[student_name]=student_ID
self.chinese[student_name]=chinese_grade
self.math[student_name]=math_grade
self.english[student_name]=english_grade
self.sports[student_name]=sports_grade
self.scores[student_name]=scores
self.all.append(scores)
self.name.append(student_name)
def inquire(self):#查询学生信息
byname=input("Please enter student's name you inquire:")
"""显示学生的信息"""
print("student name:",self.student[byname])
print("student ID",self.ID[byname])
print("Chinese grade:",self.chinese[byname])
print("Math grade:",self.math[byname])
print("english grade:",self.english[byname])
print("Sports grade:",self.sports[byname])
print("Total score:",self.scores[byname])
def sort_scores(self):#将学生成绩进行排序
i=1
for a in range(0,len(self.all)):
for b in range(a,len(self.all)):
if self.total[a]<self.total[b]:
self.name[a],self.name[b]=self.name[b],self.name[a]
else:
self.name[a],self[b]=self.name[a],self.name[b]
for c in range(0,len(self.name)):
print(i ,",",self.name[c],"\n")
i+=1
def sort_all(self):#将学生总成绩排序
self.all.sort()
print("student total grades sort from small to large")
print(self.all)
def modify(self):#修改学生信息
gename=input("Please enter student'name you modify:")
student_ID=input("Please enter new student ID:")
chinese_grade=input("Please enter new student's Chinses grade:")
math_grade=input("Please enter new student's Math grade:")
english_grade=input("Please enter new student's english grede:")
sports_grade=input("Please enter new student's sport grade:")
scores=int(chinese_grade)+int(math_grade)+int(english_grade)+int(sports_grade)#计算总分
print("total score modified is:",int(scores))
"""将输入的信息储存"""
self.ID[gename]=student_ID
self.chinese[gename]=chinese_grade
self.math[gename]=math_grade
self.english[gename]=english_grade
self.sports[gename]=sports_grade
self.scores[gename]=scores
self.all.append(scores)
def do(self):
print("="*10,"Welcome to use Student information inquiry system","="*10)
print("Choose 1 to enter student information")
print("Choose 2 to inquire student information")
print("Choose 3 to modify student information")
print("Choose 4 to rank student's total scores")
print("Choose 5 to rank student's scores")
print("Choose 6 to sign out")
while True:
order=int(input("Please enter your chosen number:"))
if order==1:
self.input()
elif order==2:
self.inquire()
elif order==3:
self.modify()
elif order==4:
self.sort_all()
elif order==5:
self.sort_name()
start=student()
start.do()
运行图片
请大佬帮忙看看,谢谢。