综合练习2

  • 问题1
    在这里插入图片描述
  • 程序代码
name_list = []  # 存储学生信息字典,学生信息用字典存,再用列表存储字典


# 菜单
def menu():
    print('*' * 20)
    print('学生管理系统')
    print('1.添加学生信息')
    print('2.删除学生信息')
    print('3.修改学生信息')
    print('4.查询单个学生信息')
    print('5.查询所有学生信息')
    print('6.退出系统')
    print('*' * 20)


# 选择序号的获得
def get_choice():
    selected_key = input("请输入选择的序号:")
    return selected_key


# 添加学生信息
def add_name():
    new_info = {}
    new_name = input('请输入姓名:')
    new_info['name'] = new_name
    new_age = input('请输入年龄:')
    new_info['age'] = new_age
    new_id = input('请输入学号:')
    new_info['id'] = new_id
    name_list.append(new_info)
    print('添加成功!')


# 查询所有学生信息
def find_all():
    print('*' * 20)
    for name in name_list:
        print(name['name'], name['age'], name['id'])
    print('*' * 20)


# 删除学生信息
def del_name():
    del_id = input('请输入要删除的学生学号:')
    flag = False
    index = 0
    for i in range(len(name_list)):
        if name_list[i]['id'] == del_id:
            flag = True
            index = i
            break
        if flag:
            name_list.pop(index)
            print('删除成功!')
        else:
            print('学生未找到!请重新输入!')


# 名字修改细节
def choice_name(index):
    while True:
        choice = input('请输入要修改学生的(1.姓名 2.年龄 3.学号 4.全部修改):')
        if choice == '4':
            new_name = input('请输入新的姓名:')
            name_list[index]['name'] = new_name
            new_age = input("请输入新的年龄:")
            name_list[index]['age'] = new_age
            new_id = input("请输入新的学号:")
            name_list[index]['id'] = new_id
            break
        elif choice == '1':
            new_name = input('请输入新的姓名:')
            name_list[index]['name'] = new_name
            break
        elif choice == '2':
            new_age = input("请输入新的年龄:")
            name_list[index]['age'] = new_age
            break
        elif choice == '3':
            new_id = input("请输入新的学号:")
            name_list[index]['id'] = new_id
            break
        else:
            print('输入有误,请重新输入!')


# 修改学生信息
def re_name():
    id_is = input("请输入要修改的学生学号:")
    flag = False
    index = 0
    # 先找到要修改的学生的下标
    for i in range(len(name_list)):
        if name_list[i]['id'] == id_is:
            flag = True
            index = i
            break
    if flag:
        choice_name(index)
        print("修改成功!")
    else:
        print("修改失败,学生信息未找到!")


# 查询单个学生信息
def find_name():
    find_id_is = input("请输入要查询的学生学号:")
    flag = False
    index = 0
    for i in range(len(name_list)):
        if name_list[i]['id'] == find_id_is:
            flag = True
            index = i
            break
    if flag:
        print("学生查询到,学生信息为:")
        print(name_list[index]['name'], name_list[index]['age'], name_list[index]['id'])
    else:
        print("学生未找到!")


def main():
    exit_name = True
    while exit_name:
        menu()
        key = get_choice()
        if key == '1':
            add_name()
        elif key == '2':
            del_name()
        elif key == '3':
            re_name()
        elif key == '4':
            find_name()
        elif key == '5':
            find_all()
        elif key == '6':
            exit_name = False
        else:
            print("请输入正确的数值!")


main()
发布了82 篇原创文章 · 获赞 0 · 访问量 641

猜你喜欢

转载自blog.csdn.net/qq_45594312/article/details/103724302