-柏舟以南 2019-12-22 17:21 采纳率: 0%
浏览 414

列表元素怎么指定删除

做一个学生信息查询系统,输入信息之后,选择修改信息,总成绩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()            










运行图片图片说明

请大佬帮忙看看,谢谢。

  • 写回答

1条回答 默认 最新

  • threenewbee 2019-12-22 19:43
    关注

    list.remove或者list.pop

    评论

报告相同问题?

悬赏问题

  • ¥15 seatunnel-web使用SQL组件时候后台报错,无法找到表格
  • ¥15 fpga自动售货机数码管(相关搜索:数字时钟)
  • ¥15 用前端向数据库插入数据,通过debug发现数据能走到后端,但是放行之后就会提示错误
  • ¥30 3天&7天&&15天&销量如何统计同一行
  • ¥30 帮我写一段可以读取LD2450数据并计算距离的Arduino代码
  • ¥15 飞机曲面部件如机翼,壁板等具体的孔位模型
  • ¥15 vs2019中数据导出问题
  • ¥20 云服务Linux系统TCP-MSS值修改?
  • ¥20 关于#单片机#的问题:项目:使用模拟iic与ov2640通讯环境:F407问题:读取的ID号总是0xff,自己调了调发现在读从机数据时,SDA线上并未有信号变化(语言-c语言)
  • ¥20 怎么在stm32门禁成品上增加查询记录功能