python----学生成绩管理系统

这周我闲着没事,就花了几个小时写了一个学生成绩管理系统,就是实现最基本的增删改查,利用字典和列表来存储学生信息,在这里给出源代码,供大家参考!

student_list = []
while True:
    print("===============欢迎进入学生管理系统==================")
    print("=======            1.添加学生              =========")
    print("=======            2.查找学生              =========")
    print("=======            3.删除学生              =========")
    print("=======            4.修改学生信息          ==========")
    print("=======            5.退出系统              ==========")
    print("=====================================================")
    pd = input("请输入你所要执行的功能:")
    if pd=='1':
        while 1:
            print("==================添加学生================")
            name = input("请输入学生的姓名:")
            age = input("请输入学生的年龄:")
            id = input("请输入学生的学号:")
            tel = input("请输入学生的联系电话:")
            math = int(input("请输入学生的数学成绩:"))
            chinese = int(input("请输入学生的语文成绩:"))
            english = int(input("请输入学生的英语成绩:"))
            # 学生的成绩信息
            scores = {}
            scores["math"] = math
            scores["chinese"] = chinese
            scores["english"] = english

            # 构建一个字典 来存储学生信息
            dict = {}
            dict["name"] = name
            dict["age"] = age
            dict['id'] = id
            dict["tel"] = tel
            dict["scores"] = scores
        #将学生信息添加到列表中
            student_list.append(dict)
            print("=============================================")
            print("========      1.继续添加学生信息     ==========")
            print("========      2.返回上一层           ==========")
            print("==============================================")
            pd_01 = input("请输入序号>>>")
            if pd_01 == "1":
                continue
            elif pd_01 == '2':
                break
            else:
                print("请输入正确的序号!")
                continue

    elif pd == '2':
        while True:
            print("====================查找学生================")
            print("=======    1.查找所有的学员信息       =======")
            print("=======    2.根据姓名查找的学员信息    ========")
            print("=======    3.根据学号查找的学员信息     =======")
            print("=======    4.返回上一层                =========")
            print("================================================")
            pd_02 = input(">>>")
            if pd_02 == '1':
                if student_list == None:
                    print("还没有学员信息!")
                for student in student_list:
                    print(student)
            elif pd_02 == '2':
                if student_list == None:
                    print("还没有学员信息!")
                name = input("请输入学生姓名:")
                flag = 0
                for student in student_list:
                    if student["name"] == name:
                        flag = 1
                        print(student)
                        #学生的总成绩
                        for i,j in student["scores"].items():
                            print(i,j)
                        sum_scores = sum(student["scores"].values())
                        #平均成绩
                        average_scores = sum_scores/len(student["scores"].values())
                        print("这个学生的总成绩为:{}".format(sum_scores))
                        print("这个学生的平均成绩为:{}".format(average_scores))
                        break
                    if flag == 0:
                        print("没有找到这个学生")
            elif pd_02 == '3':
                if student_list == None:
                    print("还没有学员信息!")
                student_num = input("请输入学生的学号:")
                flag = 0
                for student in student_list:
                    if student["id"] == student_num:
                        flag =1
                        print(student)
                        break
                if flag == 0:
                    print("没有找到这个学生!")
            elif pd_02 == '4':
                break
            else :
                print("请输入正确的序号")
                continue

    elif pd == '3':
        while True:
            print("=================删除学生====================")
            print("======       1.按姓名删除学生信息     ========")
            print("======       2.按学号删除学生信息     ========")
            print("======       3.返回上一层            =========")
            print("=============================================")
            pd_03 = input("请输入选择>>>")
            if pd_03 == '1':
                student_name = input("请输入要删除的学生姓名")
                flag = 0
                for student in student_list:
                    if student["name"] == student_name:
                        flag = 1
                        student_list.remove(student)
                        print("删除成功!")
                        break
                if flag == 0:
                    print("没有找到这个学生的信息,无法删除!")
            elif pd_03 == '2':
                student_num = input("请输入要删除的学生姓名")
                flag = 0
                for student in student_list:
                    if student["name"] == student_num:
                        flag = 1
                        student_list.remove(student)
                        print("删除成功!")
                        break
                if flag == 0:
                    print("没有找到这个学生的信息,无法删除!")
            elif pd_03 == '3':
                break
            else:
                print("请重新选择!")
                continue

    elif pd == '4':
        while True:
            print("=================  修改学生信息=================")
            print("========            1.修改学生姓名      =========")
            print("========            2.修改学生年龄      =========")
            print("========            3.修改学生成绩      ==========")
            print("========            4.返回上一层        ==========")
            print("=================================================")
            pd_04 = input("请输入选择>>>")
            if pd_04 == '1':
                student_num = input("请输入你所要修改的学生的学号:")
                change_name = input("请输入你要修改的之后的名字:")
                flag =0
                for student in student_list:
                     if student["id"] == student_num:
                         flag = 1
                         student["name"] = change_name
                         print("修改完成!")
                         break
                if flag == 0:
                    print("没有这个学员信息!")

            elif pd_04 == '2':
                student_num = input("请输入你所要修改的学生的学号:")
                change_age = input("请输入你要修改的之后的年龄:")
                flag =0
                for student in student_list:
                     if student["age"] == change_name:
                         flag = 1
                         student["name"] = change_age
                         print("修改完成!")
                         break
                if flag == 0:
                    print("没有这个学员信息!")

            elif pd_04 == '3':
                student_num = input("请输入你所要修改的学生的学号:")
                while True:

                    print("=========================================")
                    print("=======         1.数学          =========")
                    print("=======         2.语文          =========")
                    print("=======         3.英语          ==========")
                    print("=======         4.返回上一层     ==========")
                    print("==========================================")
                    choice = input("请输入你所要修改的课程:")
                    if choice == '1':
                        change_grades = input("请输入修改之后的分数:")
                        flag = 0
                        for student in student_list:
                            if student['id'] ==student_num:
                                flag = 1
                                student["scores"]["math"] = change_grades
                                break
                        else :
                            print("没有该学生的信息")
                    elif choice == '2':
                        change_grades = input("请输入修改之后的分数:")
                        flag = 0
                        for student in student_list:
                            if student['id'] ==student_num:
                                flag = 1
                                student["scores"]["chinese"] = change_grades
                                break
                        else :
                            print("没有该学生的信息")
                    elif choice == '3':
                        change_grades = input("请输入修改之后的分数:")
                        flag = 0
                        for student in student_list:
                            if student['id'] ==student_num:
                                flag = 1
                                student["scores"]["english"] = change_grades
                                break
                        else :
                            print("没有该学生的信息")
                    elif choice == '4':
                        break
                    else :
                        print("输入错误,请重新输入!")
                        continue

            elif pd_04 == "4":
                break
            else :
                print("输入错误,请重新输入")
                continue

    elif pd == '5':
        print("已退出学生信息管理系统!")
        break

以上代码有什么错误,大家可以批评指正!

猜你喜欢

转载自blog.csdn.net/yanzhiguo98/article/details/83478895