lostpanda
# 抽取功能代码到函数的目的:未了提高代码的复用性,减少代码的冗余,通过函数管理功能代码,代码结构
# 更加清晰一些

# 定义全局变量
student_list = list()  # [] # 表示创建空的列表,未来存储每一个学生字典信息, [{"key": value, ..}]


# 显示功能菜单
def show_menu():
    print("---------学生管理系统V1.0---------")
    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)


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


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


# 删除学生的功能函数
def remove_student():
    # 1. 接收用户输入的学号
    student_no = int(input("请输入您要删除学生的学号:"))
    # 2. 根据学号生成下标
    index = student_no - 1
    # 判断下标是否合法
    if 0 <= index < len(student_list):
        # 3. 根据下标从列表中删除数据
        # del student_list[index]
        current_dict = student_list.pop(index)
        print("%s, 删除成功!" % current_dict["name"])
    else:
        print("请输入合法的学号!")


# 查询学生
def query_student():
    # 1. 接收用户入要查询学生的姓名
    name = input("请输入要查询学生的姓名:")
    # 2. 遍历学生列表,一次判断学生的姓名是否是指定名字
    for index, student_dict in enumerate(student_list):
        if student_dict["name"] == name:
            # 生成学生
            student_no = index + 1
            # 3. 如果找到了则输出学生信息,则停止循环
            print("学号: %d 姓名: %s 年龄: %s 性别: %s" % (student_no,
                                                   student_dict["name"],
                                                   student_dict["age"],
                                                   student_dict["sex"]))
            break
    else:
        # 4. 遍历完都没有找到,需要输出该用户不存在
        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


# 调用start函数
start()

 

分类:

技术点:

相关文章:

  • 2021-11-21
  • 2022-12-23
  • 2021-08-26
  • 2021-07-14
  • 2021-12-22
  • 2021-12-12
  • 2022-12-23
猜你喜欢
  • 2021-10-05
  • 2021-06-06
  • 2022-12-23
  • 2021-07-09
  • 2021-12-02
  • 2021-11-28
  • 2022-01-04
相关资源
相似解决方案