Python成绩管理系统3

Python成绩管理系统3

哎,前几天发的管理系统,我总是感觉功能没那么的实际,于是我就再改了一哈!希望你们不要烦哈 !

我就再加了一个增删改的功能,现在我感觉应该还行!

def Welcome():
    print("欢迎使用成绩管理系统!")
    print("在这里你可以查看同学的成绩!")
def firstmune():
    print("1.增加同学信息")
    print("2.删减同学信息")
    print("3.修改同学信息")
    print("4.查询同学信息")
    print("5.退出")
def message():
    print("1.语文")
    print("2.数学")
    print("3.英语")
def mune1():
    print("1.显示数据")
    print("2.查询成绩")
    print("3.退出")
def mune2():
    print("1.语文")
    print("2.数学")
    print("3.英语")
    print("4.总分")
    print("5.平均分")
    print("6.总分排名")
    print("7.退出")
def mune3():
    print("1.成绩")
    print("2.排名")
    print("3.成绩和排名")
    print("4.退出")
def GetData():
    sum = []
    f = open('D:/score.txt')
    list = f.readlines()
    for i in list[1:]:
        if not i.isspace():
            i = i.strip('\n')
            i = i.split()
            sum.append(i)
    return sum
def Sumgrades(sum):
    for i in sum:
        i.append(int(i[2])+int(i[3])+int(i[4]))
    return sum
def sort(sum):
    grades=[]
    for i in sum:
        grades.append(int(i[5]))
    grades.sort(reverse = True)
    for j in range(len(sum)):
            x = grades.index(int(sum[j][5]))
            sum[j].append(x+1)
    return sum
def ChineseSort(sum):
    grades = []
    for i in sum:
        grades.append(int(i[2]))
    grades.sort(reverse=True)
    for j in range(len(sum)):
        x = grades.index(int(sum[j][2]))
        sum[j].append(x+1)
def MathSort(sum):
    grades = []
    for i in sum:
        grades.append(int(i[3]))
    grades.sort(reverse=True)
    for j in range(len(sum)):
        x = grades.index(int(sum[j][3]))
        sum[j].append(x+1)
def EnglishSort(sum):
    grades = []
    for i in sum:
        grades.append(int(i[4]))
    grades.sort(reverse=True)
    for j in range(len(sum)):
        x = grades.index(int(sum[j][4]))
        sum[j].append(x+1)
def Ranking(sum):
    grades = []
    newgrades = []
    for i in sum:
        grades.append(i[5])
    grades.sort(reverse=True)
    for i in range(len(sum)):
        for j in range(len(grades)):
            if sum[j][5] == grades[i]:
                newgrades.append(sum[j])
                break
    return newgrades
def AddStudent(sum,list):
    sum.append(list)
def ReduceStudent(sum,str):
    for i in sum:
        if str == i[1] or str == i[0]:
            sum.remove(i)
            break
def Revise(sum,str,n):
    for i in sum:
        if str == i[1] or str == i[0]:
            y = eval(input("输入改入的成绩:"))
            i[n+1] = y
Welcome()
sum1=GetData()
while 1:
    firstmune()
    x = eval(input("请输入您想执行的功能:"))
    if x == 1:
        x = input("请输入同学信息(以空格隔开):")
        x = x.strip('\n')
        x = x.split()
        AddStudent(sum1,x)
    elif x == 2:
        x = input("请输入学号或者姓名:")
        ReduceStudent(sum1,x)
    elif x == 3:
        x = input("请输入学号或者姓名:")
        print("请输入您想修改的项目")
        message()
        y = eval(input("请输入:"))
        Revise(sum1,x,y)
    elif x == 4:
        sum = Sumgrades(sum1)
        sum = Ranking(sum)
        sum = sort(sum)
        ChineseSort(sum)
        MathSort(sum)
        EnglishSort(sum)
        Ranking(sum)
        while 1:
            mune1()
            x = eval(input("请输入:"))
            if x==1:
                print("{}   {}    {}   {}   {}   {}  ".format('姓名', '学号', '语文', '数学', '英语', '总分'))
                for i in sum:
                    print("{}  {}  {}    {}    {}    {}    ".format(i[0],i[1],i[2],i[3],i[4],i[5]))
            elif x == 2:
                while 1:
                    mune2()
                    x = eval(input("请输入:"))
                    if x == 1:
                        x1 = input("输入学号或者姓名:")
                        while 1:
                            mune3()
                            x = eval(input("请输入选项:"))
                            for i in sum:
                                if i[0] == x1 or i[1] == x1:
                                    if x == 1:
                                        print("{}".format(i[2]))
                                        print("加油,相信自己!")
                                    elif x == 2:
                                        print("{}".format(i[7]))
                                    elif x == 3:
                                        print("成绩为:{}   排名:第{}名".format(i[3], i[8]))
                                    elif x != 4:
                                        print("输入错误,请重新输入!")
                                    elif x == 4:
                                        continue
                            break
                    elif x == 2:
                        x1 = input("输入学号或者姓名:")
                        while 1:
                            mune3()
                            x = eval(input("请输入选项"))
                            for i in sum:
                                if i[0] == x1 or i[1] == x1:
                                    if x == 1:
                                        print("{}".format(i[3]))
                                        print("加油,相信自己!")
                                    elif x == 2:
                                        print("{}".format(i[8]))
                                    elif x == 3:
                                        print("成绩为:{}   排名:第{}名".format(i[3],i[8]))
                                    elif x != 4:
                                        print("输入错误,请重新输入!")
                                    elif x == 4:
                                        continue
                            break
                    elif x == 3:
                        x1 = input("输入学号或者姓名:")
                        while 1:
                            mune3()
                            x = eval(input("请输入选项:"))
                            for i in sum:
                                if i[0] == x1 or i[1] == x1:
                                    if x == 1:
                                        print("{}".format(i[4]))
                                        print("加油,相信自己!")
                                    elif x == 2:
                                        print("{}".format(i[9]))
                                    elif x == 3:
                                        print("成绩为:{}   排名:第{}名".format(i[3],i[8]))
                                    elif x!=4:
                                        print("输入错误,请重新输入!")
                                    elif x == 4:
                                        continue
                            break
                    elif x == 4:
                        x1 = input("输入学号或者姓名:")
                        for i in sum:
                            if i[0] == x1 or i[1] == x1:
                                print("{}".format(i[5]))
                                print("加油,相信自己!")
                    elif x == 5:
                        score = 0
                        x1 = input("输入学号或者姓名!")
                        for i in sum:
                            if i[0] == x1 or i[1] == x1:
                                score=(int(i[2])+int(i[3])+int(i[4]))/3
                                print("{:.2f}".format(score))
                                print("加油,相信自己!")
                    elif x == 6:
                        x1 = input("输入学号或者姓名!")
                        for i in sum:
                            if i[0] == x1 or i[1] == x1:
                                print("{}".format(i[6]))
                                print("加油,相信自己!")
                    elif x == 7:
                        break
                    else:
                        print("您输入的数字识别不了,请重新输入啊!")
            elif x == 3:
                break
            else:
                print("您输入的数字识别不了,请重新输入啊!")
    elif x == 5:
        break
    else:
        print("您输入有错误,请重新输入!")

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一只小猪~~~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值