# 1:首先显示功能菜单
# 2:接受用户输入
# 3:执行相应的操作
student_list = []
def show_menu():
    print("----------学生管理系统函数版----------")
    print("0:退出系统")
    print("1:增加学生信息")
    print("2:删除学生信息")
    print("3:修改学生的信息")
    print("4:显示学生信息")
    print("5:显示所有学生的信息")

def exit_menu():
    print("欢迎您的下次使用,再见!")
    exit()

def add_menu():
    student_id = input("请输入您的学号:")
    student_len = len(student_list)
    # 如果已经存在则退出
    for i in range(student_len):
        my_dict = student_list[i]
        if my_dict['student_id'] == student_id:
            print("您的信息已经存在,请重新操作")
            return
    name = input("请输入您的姓名:")
    sex = input("请输入您的性别:")
    tel = input("请输入您的电话:")
    student_dict = dict()
    student_dict['student_id'] = student_id
    student_dict['name'] = name
    student_dict['sex'] = sex
    student_dict['tel'] = tel
    print("您输入的信息是:", student_dict)
    student_list.append(student_dict)
    print("当前的列表内容是:", student_list)
    print("恭喜您,您的信息已经被存储")

def del_menu():
    student_id = input("请输入您要删除的学生的学号:")
    # 获取当前列表的长度
    student_len = len(student_list)
    flag = 0
    for i in range(student_len):
        # 取出列表的每一个集合
        my_dict = student_list[i]
        # 如果取出集合的学号和输入的学号相同
        if my_dict['student_id'] == student_id:
            flag = 1
            # 删除当前的列表中的集合
            del student_list[i]
            # 这个地方必须退出,因为删除一个后,长度就会发生了改变,最后一个就不能再进行循环
            print("恭喜您,您的信息已经被删除")
            break
    if flag == 0:
        print("您删除的信息在系统中查询不到,请重新操作")
    print("当前列表的内容:", student_list)


def mod_menu():
    student_id = input("请输入您要修改的学生的学号:")
    # 获取当前列表的长度
    student_len = len(student_list)
    flag = 0
    for i in range(student_len):
        # 取出列表的每一个集合
        my_dict = student_list[i]
        # 如果取出集合的学号和输入的学号相同
        if my_dict['student_id'] == student_id:
            flag = 1
            del student_list[i]
            name = input("请输入您的姓名:")
            sex = input("请输入您的性别:")
            tel = input("请输入您的电话:")
            my_dict['name'] = name
            my_dict['sex'] = sex
            my_dict['tel'] = tel
            student_list.append(my_dict)
            print("恭喜您,您的信息已经被修改")
    if flag == 0:
        print("您要修改的信息在系统中不存在")
    print("当前列表的内容:", student_list)

def show_student():
    student_id = input("请输入您要查询的学生的学号:")
    student_len = len(student_list)
    flag = 0
    for i in range(student_len):
        # 取出列表的每一个集合
        my_dict = student_list[i]
        # 如果取出集合的学号和输入的学号相同

        if my_dict['student_id'] == student_id:
            flag = 1
            print("恭喜您,您的信息已经查询完成")
            print(my_dict)
    if flag == 0:
         print("您要查询的信息,在系统不存在")
    print("当前列表的内容:", student_list)

def show_all_student():
    student_len = len(student_list)
    for i in range(student_len):
        my_dict = student_list[i]
        print(my_dict)
    print("恭喜您,当前学生所有信息已经显示完成")


def your_choose(num):
    if num == 0:
        exit_menu()

    elif num == 1:
       add_menu()

    elif num == 2:
        del_menu()

    elif num == 3:
        mod_menu()
    elif num == 4:
        show_student()
    elif num == 5:
        show_all_student()

def run():
    while True:
        show_menu()
        num = int(input("请输入您的操作:"))
        your_choose(num)

run()