怎么做这个班级成绩管理程序 急

班级学生成绩管理程序,需维护学生的成绩表,成绩表包含学号,姓名,语文、数学和英语成绩,主要功能有:1)增加学生成绩(用命令insert就能完成)2)修改学生成绩(用命令update就能完成)3)删除学生成绩(用命令 delete就能完成),4)导入成绩(从文本文件中批量导入成绩,学号,姓名,语文、数学和英语成绩每个字段占用一行,考虑成绩必须有效),5)导出成绩(按学号顺序导出,成绩也按语数英的顺序显示),6)成绩统计,可以统计出各科的最高分、最低分和平均分,7)分段统计。程序可以统计各个分数段的人数,各科都是,8)成绩排
I

名(各科的排名)。

import os
import sqlite3
import traceback
from dbHelper import dbHelper

class Student:
    def __init__(self):
        self.name = ''
        self.ID = ''
        self.score1 = 0#语文
        self.score2 = 0#数学
        self.score3 = 0#英语
        self.sum =0
#计算总分的方法
    def sumscore(self):
        self.sum=self.score1+self.score2+self.score3
#输入学生的信息
    def input(self):
        self.name=input("请输入学生的姓名:")
        self.ID=input("请输入学生的学号:")
        self.score1=int(input("请输入学生语文的分数:"))
        self.score2=int(input("请输入学生数学的分数:"))
        self.score3=int(input("请输入学生英语的分数:"))
        self.sumscore()

#判断学号是否存在
def searchByID(stulist, ID):
    for item in stulist:
        if item.ID == ID:
            return True
        else:
            return False
#添加学生
def Add(stulist,stu):
    DB = dbHelper("db/students.db")
    if searchByID(stulist,stu.ID) == True:
        print("学号已存在")
        return False
    print("是否保存学生信息?")
    nChoose=input("输入Y/N")
    if nChoose == 'Y' or nChoose == 'y':
        stulist.append(stu)
        sql = "INSERT INTO students (name,ID,score1,score2,score3,sum) VALUES (?,?,?,?,?,?)"
        DB.exec_sql(sql,(stu.name,stu.ID,stu.score1,stu.score2,stu.score3,stu.sum))
        print("保存成功")
#删除学生信息
def Del(stulist,ID):
    DB = dbHelper("db/students.db")
    flag = False # 判断是否有该学生学号的变量
    for item in stulist:
        if item.ID==ID:
            stulist.remove(item)
            flag == True
            sql = "delete from students where ID = ?"
            DB.exec_sql(sql, (ID,))
            print("删除成功")
    if flag == False:
        pass
    print("没有该学号")
#修改学生信息(删除旧学生信息,添加一个新学生信息)
def Change(stulist,ID):
    flag = False
    for item in stulist:
        if item.ID==ID:
            stulist.remove(item)
            flag == True
            sql="delete from students where ID=?"
            DB.exec_sql(sql,(ID,))
            stu = Student()
            stu.input()
            Add(stulist, stu)
        if flag != False:
            return
        print("没有该学生学号")

#显示所有学生列表
def display(stulist):
    sql = "select * from students "
    print("姓名  学号 语文 数学 英语 总分")
    for item in DB.query(sql):
        print("{}  {}  {}  {}  {}  {}".format(item[0], item[1],item[2], item[3],item[4], item[5]))

#成绩排序
def Sort():
    sql="select * from students order by sum desc"
    print(" 姓名 学号 语文 数学 英语 总分")
    DB.query(sql)
    for item in DB.query(sql):
        print("{}  {}  {}  {}  {}  {}".format(item[0], item[1], item[2], item[3], item[4], item[5]))

#查询学生信息
def Search(stulist,ID):
    print("姓名  学号 语文 数学 英语 总分")
    flag = False
    for item in stulist:
        if item.ID == ID:
            flag == True
            sql = "select * from students where ID=?"
            for item in DB.query_params(sql, (ID,)):  # DB.quert_params:Mysql有参查询数据语句
                print("{}  {}  {}  {}  {}  {}".format(item[0], item[1], item[2], item[3], item[4], item[5]))
    if flag == False:
        pass
    print("没有该学生的学号")

#初始化
def Init(stulist):
    print("初始化。。。")
    sql="select * from students"
    for item in DB.query(sql):
        stu = Student()
        stu.ID=item[0]
        stu.name=item[1]
        stu.score1=int(item[2])
        stu.score2 = int(item[3])
        stu.score3 = int(item[4])
        stu.sum = item[5]
        stulist.append(stu)
    print("初始化成功")
    main()

def main():
    while True:
        print("******************")
        print("******菜单********")
        print("***1.增加学生信息***")
        print("***2.查询学生信息***")
        print("***3.删除学生信息***")
        print("***4.修改学生信息***")
        print("***5.显示学生信息***")
        print("***6.排序学生成绩***")
        print("***0.退出学生系统***")
        print("******************")
        nChoose=input("请输入你的选择:")
        if nChoose == '1':
            stu=Student()
            stu.input()
            Add(stulist,stu)
        if nChoose == '2':
            ID = input("请输入需要查询的学生学号ID:")
            Search(stulist,ID)
        if nChoose == '3':
            ID = input("请输入需要删除的学生学号ID:")
            Del(stulist,ID)
        if nChoose == '4':
            ID = input("请输入需要修改的学生学号ID:")
            Change(stulist,ID)
        if nChoose == '5':
            display(stulist)
        if nChoose == '6':
            Sort()
        if nChoose == '0':
            print("成功退出!")
            break
#主程序
if __name__=='__main__':
    stulist=[]
    DB = dbHelper("db/students.db")
    Init(stulist)

可以参考下这个