Python : 使用python实现学生信息管理系统

一、学生管理系统

学生描述:学号、姓名、性别、成绩
学生管理系统功能:添加学生信息、不能添加重复学号学生、删除学生信息、根据学号修改学生信息、根据学号查询学生信息、显示所有学生信息、退出系统

二、代码说明

  1. 将每一个学生的信息放一个元组中,再把元组添加到列表中
  2. 元组 键值对儿 {‘uid’:uid,‘name’: name, ‘sex’: sex, ‘yuwen’: yuwen, ‘shuxue’: shuxue, ‘yingyu’: yingyu}
  3. 用到 字典的增删改查、列表的增删改查、函数的调用、列表的遍历、循环语句、判断语句等知识

三、代码实现

# 定义一个空列表,用来存放学生信息
student_list = []
def mean():
    print("  ================================================================")
    print("欢迎使用学生信息管理系统")
    print("1.添加学生信息")
    print("2.删除学生信息")
    print("3.修改学生信息")
    print("4.查询学生信息")
    print("5.学生成绩统计")
    print("6.查询所有学生信息")
    print("7.退出系统")
    print("  ===============================================================")

def addstudent():
    # 声明使用全局变量student_list
    global student_list
    print("添加学生信息")
    uid = input("请输入学生的学号:")
    name = input("请输入学生的姓名:")
    sex = input("请输入学生的性别:")
    yuwen = float(input("请输入语文成绩: "))
    shuxue = float(input("请输入数学成成绩: "))
    yingyu = float(input("请输入英语成成绩 :"))
    # 对数据进行验证,验证学号是否重复
    for i in student_list:
        # 如果重复
        if i['uid'] == uid:
            print("学号已存在")
            break
    else:
        # 将学生的信息添加到student_list列表
        student_info = {
    
    'uid':uid,'name': name, 'sex': sex, 'yuwen': yuwen, 'shuxue': shuxue, 'yingyu': yingyu}
        # 打印添加的学生信息
        print(student_info)
        # print("学号:%s" % uid, "姓名:%s" % name, "性别%s" % sex,
        #       "语文成绩:%.2f,语文成绩:%.2f,语文成绩:%.2f" % (yuwen, shuxue, yingyu))
        # student_list[uid] = student_info
        student_list.append(student_info)
        print("总成绩为:%.2f" % (yuwen+shuxue+yingyu))
        avg_student = (yuwen+shuxue+yingyu)/3
        print("平均成绩为:%.2f" % avg_student)
        print("添加成功")
def delstudent():
    print("删除学生信息")
    # 根据学号删除信息
    uid = input("请输入要删除学生的学号:")
    # 遍历列表
    for student in student_list:
        # 如果找到学生信息
        if student['uid'] == uid:
            #删除学生
            student_list.remove(student)
            print(f"已删除{uid}学生信息")
    else:
        # 否则学生信息不存在
        print(f"{uid}学生信息未保存")

def updatestudent():
    print("修改学生信息")
    #根据学号来修改
    uid = input("请输入你要修改的学生学号:")
    # 遍历列表
    for student in student_list:
        # 如果找到输入的学号
        if student['uid'] == uid:
            # 修改信息
            student['uid'] = input("请输入修改后的学生学号:")
            student['name'] = input("请输入修改后的学生姓名:")
            student['sex'] = input("请输入修改后的学生性别:")
            student['yuwen'] = float(input("请输入修改后的学生语文成绩:"))
            student['shuxue'] = float(input("请输入修改后的学生数学成绩:"))
            student['yingyu'] = float(input("请输入修改后的学生英语成绩:"))
            print("该学生的信息已更新为:学号:%s" % student['uid'], "\n姓名:%s" % student['name'], "\n性别:%s" % student['sex'],
                  "\n语文成绩:%.2f\n数学成绩:%.2f\n英语成绩:%.2f" % (student['yuwen'], student['shuxue'], student['yingyu']))
            # print("该学生信息已更新为:学号:{},姓名:{},性别:{},语文成绩:{},数学成绩:{},英语成绩:{}".format(student["uid"],student["name"], student["sex"], student["yuwen"],student["shuxue"],student["yingyu"]))
    else:
        # 否则,输入有误
        print(f"输入有误,没用找到{uid}学生信息")
def selectstudent():
    print("查询学生信息")
    # global student_list
    # 根据学号进行查找
    select = input("请输入你要查询学生的学号:")
    # 遍历列表,查找对应信息
    for student in student_list:
        #如果找到用户输入的学号
        if student['uid'] == select:
            # 输出查询的信息
            print("学号:%s" % student['uid'], "\n姓名:%s" % student['name'], "\n性别:%s" % student['sex'],
                  "\n语文成绩:%.2f\n数学成绩:%.2f\n英语成绩:%.2f" % (student['yuwen'], student['shuxue'], student['yingyu']))
            # print("学号:{}\n姓名:{}\n性别:{}\n语文成绩:{}\n数学成绩:{}\n英语成绩:{}"
            #       .format(student["uid"],student["name"], student["sex"], student["yuwen"],student["shuxue"],student["yingyu"]))
            break
    else:
        # 跳出循环表示学号不存在
        print(f"学号为{select}的学生信息未保存")
    #         print("学号:%s 姓名:%s 性别:%s 语文成绩:%s 数学成绩:%s 英语成绩:%s"
    #               %(uid, value['name'], value['sex'], value['yuwen'], value['shuxue'], value['yingyu']))
    # print("学号:%s" % uid, "姓名:%s" % name, "性别%s" % sex,"语文成绩:%.2f,语文成绩:%.2f,语文成绩:%.2f" % (yuwen, shuxue, yingyu))

def selectAllStudent():
    print("查询所有学生信息")
    # 遍历列表,查找对应信息
    for student in student_list:
        # 输出查询的信息
        print("学号:%s" % student['uid'], "\n姓名:%s" % student['name'], "\n性别:%s" % student['sex'],
              "\n语文成绩:%.2f\n数学成绩:%.2f\n英语成绩:%.2f" % (
              student['yuwen'], student['shuxue'], student['yingyu']))

def allstudent():
    print("学生成绩统计")
    # 根据学号统计
    uid = input("请输入要统计的学生学号:")
    # 遍历列表
    for student in student_list:
        # 如果输入学号存在
        if student['uid'] == uid:
            # 统计学生成绩
            print("学生成绩\n语文成绩:%.2f\n数学成绩:%.2f\n英语成绩:%.2f" % (student['yuwen'], student['shuxue'], student['yingyu']))
            print("总成绩为:%.2f" % (student['yuwen'] + student['shuxue'] + student['yingyu']))
            avg_student = (student['yuwen'] + student['shuxue'] + student['yingyu']) / 3
            print("平均成绩为:%.2f" % avg_student)
            break
    else:
        print(f"{uid}学生信息未保存")

def main():
    while True:
        mean()
        num = input("请输入:")
        if num == "1":
            addstudent()
        elif num == "2":
            delstudent()
        elif num == "3":
            updatestudent()
        elif num == "4":
            selectstudent()
        elif num == "5":
            allstudent()
        elif num == "6":
            selectAllStudent()
        elif num == "7":
            print("退出系统")
            break
        else:
            print("你的输入有错误")

main()

四、代码运行结果

1. 添加学生信息

在这里插入图片描述

2. 显示添加的所有学生

在这里插入图片描述

3. 根据学号查询学生信息

在这里插入图片描述

4. 修改学生信息

在这里插入图片描述

5. 删除学生信息

在这里插入图片描述

6. 根据学号查看学生成绩统计

在这里插入图片描述

7. 退出系统

在这里插入图片描述

实验报告+项目源码

猜你喜欢

转载自blog.csdn.net/weixin_48622654/article/details/127477675