学生管理系统

# 提示:为了让程序一直运行,可以为用户一直服务,需要在外面使用一个死循环


# 定义全局变量
student_list = []  # 创建一个空的列表,未来存储每一个学生的字典


def show_menu():
    # 1.显示学生管理系统的功能菜单
    print("学生管理系统V1.0".center(28, "-"))
    print("1.添加学生")
    print("2.修改学生")
    print("3.删除学生")
    print("4.查询学生")
    print("5.显示所有学生")
    print("6.退出")


# 添加学生函数
def add_student():
    name = input("请输入学生姓名:")
    age = input("请输入学生年龄:")
    sex = input("请输入学生性别:")
    # 创建一个空的字典
    student_dict = dict()
    # 添加数据到字典
    student_dict["name"] = name
    student_dict["age"] = age
    student_dict["sex"] = sex
    # 把学生字典添加到学生列表里面
    student_list.append(student_dict)
    print(student_list)


# 显示所有学生
def show_all_student():
    for index, student_dict in enumerate(student_list):
        student_id = index + 1
        print("学号:{},姓名:{},年龄:{},性别:{}".format(student_id, student_dict["name"], student_dict["age"],
                                               student_dict["sex"]))


# 修改学生
def modify_student():
    # 接收用户输入学号信息
    student_id = eval(input("请输入您要修改的学生学号:"))
    # 根据学号生成对应的下标
    student_no = student_id - 1
    # 判断下标是否合法
    if 0 <= student_no < len(student_list):
        # 根据下标获取要修改的字典
        current = student_list[student_no]
        # 接收用输入的最新数据
        new_name = input("请输入修改后的姓名:")
        new_age = input("请输入修改后的年龄:")
        new_sex = input("请输入修改后的性别:")
        # 根据用户输入的信息的数据对字典进行修改
        current["name"] = new_name
        current["age"] = new_age
        current["sex"] = new_sex
        print("修改成功!")
    else:
        print("请输入合法的学号!")


# 删除学生的功能函数
def remove_student():
    # 接收要删除的学生学号
    student_id = eval(input("请输入要删除的学生学号:"))
    # 输入的学号转成对应的下标
    student_no = student_id - 1
    if 0 <= student_no < len(student_list):
        # 获取要删除的数据
        current = student_list.pop(student_no)
        print("删除的数据", current)
    else:
        print("请输入合法的学号!")


# 查询学生
def query_student():
    name = input("请输入要查询的姓名:")
    for index, student_dict in enumerate(student_list):
        if name == student_dict["name"]:
            student_id = index + 1
            print("学号:{},姓名:{},年龄:{},性别:{}".format(student_id, student_dict["name"], student_dict["age"],
                                                   student_dict["sex"]))
            break
        else:
            print("对不起,你查找的用户不存在")


# 程序入口函数
def start():
    while True:
        # 1.显示学生管理系统的功能菜单
        show_menu()
        # 2.接收用户输入选项
        menu_option = input("请输入你的选项:")
        # 3.判断用户输入的功能选项并执行相关的操作
        if menu_option == "1":
            print("添加学生")
            add_student()
        elif menu_option == "2":
            print("修改学生")
            modify_student()
        elif menu_option == "3":
            print("删除学生")
            remove_student()
        elif menu_option == "4":
            print("查询学生")
            query_student()
        elif menu_option == "5":
            print("显示所有学生")
            show_all_student()
        elif menu_option == "6":
            print("退出")
            break
        else:
            print("输入格式错误")
            break


# 调用start函数
start()
---------学生管理系统V1.0---------
1.添加学生
2.修改学生
3.删除学生
4.查询学生
5.显示所有学生
6.退出
请输入你的选项:1
添加学生
请输入学生姓名:张三
请输入学生年龄:18
请输入学生性别:男
[{'name': '张三', 'age': '18', 'sex': '男'}]
---------学生管理系统V1.0---------
1.添加学生
2.修改学生
3.删除学生
4.查询学生
5.显示所有学生
6.退出
请输入你的选项:5
显示所有学生
学号:1,姓名:张三,年龄:18,性别:男
---------学生管理系统V1.0---------
1.添加学生
2.修改学生
3.删除学生
4.查询学生
5.显示所有学生
6.退出
请输入你的选项:6
退出