加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

python的综合应用-学院管理系统

(2022-05-05 10:49:20)
分类: Python学习
转自:https://www.toutiao.com/article/7089735691076125187/

python的综合应用-学员管理系统

2022-05-04 16:57·Python大叔

需求功能:

  1. 添加学员
  2. 删除学员
  3. 修改学员信息
  4. 查询学员信息
  5. 显示所有学员的信息
  6. 退出系统

# 定义一个功能界面函数。
def info_print():
    print('- - - - - -请选择功能- - - - - -')
    print('1、添加学员')
    print('2、删除学员')
    print('3、修改学员')
    print('4、查询学员')
    print('5、显示所有学员')
    print('6、退出系统')
    print(' * ' * 10)
# 准备一个空列表,等待存储所有学员的信息
stu_info = []


# 定义添加学员信息的函数
def stu_add_info():
    """添加学员信息的函数"""
    # 1、用户输入:学号、姓名、性别、手机号。
    new_id = input('请输入您的8位学号信息:')
    new_name = input('请输入您的姓名:')
    new_gender = input('请输入您的性别:')
    new_tel = input('请输入您的手机号码:')

    # 2、判断学员学号是否存在,如果存在则报错,如果不存在则执行添加。
    # 2.1 声明stu_info为全局变量
    global stu_info

    # 2.2 如果学员学号已经存在,则报错提示。不允许id重复:如果用户输入的id和列表里面字典的id对应的值相等则提示。
    for i in stu_info:  # 遍历列表中的学员字典信息
        if new_id == i['id']:  # 判断新增的new_id 和字典中id值是否相同
            print('此用户已经存在。')
            return  # 退出添加信息的函数,后面添加信息的函数不执行。

    # 2.3 如果输入的姓名不存在,需要加数据:1准备空字典,2字典新增数据,3列表追加字典。
    stu_info_dict = {}

    # 字典新增数据
    stu_info_dict['id'] = new_id
    stu_info_dict['name'] = new_name
    stu_info_dict['gender'] = new_gender
    stu_info_dict['tel'] = new_tel
    # print(stu_info_dict)   # 打印字典的数据
    stu_info.append(stu_info_dict)
    print(stu_info)


# 定义删除学员信息的函数
def stu_del_info():
    """删除学员信息的函数"""
    # 1、用户输入需要删除的学员的学号。
    del_id = input('请输入要删除的学员的学号:')

    # 2、判断学员是否存在: 如果存在输入的学号则删除,否则提示报错。
    # 2.1 声明stu_info为全局变量
    global stu_info

    # 2.2 遍历列表
    # 2.3 判断学员是否存在:存在执行删除(删除列表中的字典),不存在执行提示操作。
    for i in stu_info:  # 遍历列表中的学员字典信息
        if del_id == i['id']:  # 判断新增的new_id 和字典中id值是否相同
            stu_info.remove(i)  # 删除列表中指定的数据
            break  # 因为id信息不会重复,遍历列表删除一个后,后续不用在遍历。
    else:
        print('该学员不存在')

    print(stu_info)


# 定义修改学员信息的函数
def stu_modify_info():
    """修改学员信息的函数"""
    # 1、用户输入需要修改的学员的学号。
    modify_id = input('请输入要修改的学员的学号:')

    # 2、判断学员是否存在: 如果存在输入的学号则修改部分信息,如手机号。如果不存在,则报错
    # 2.1 声明stu_info为全局变量
    global stu_info

    # 2.2 遍历列表
    # 2.3 判断学员是否存在:存在执行修改(修改列表中的字典),不存在执行提示操作。
    for i in stu_info:  # 遍历列表中的学员字典信息
        if modify_id == i['id']:  # 判断新增的new_id 和字典中id值是否相同
            i['tel'] = input('请输入新的手机号码:') # 修改列表中指定的数据
            break  # 因为id信息不会重复,遍历列表修改一个后,后续不用在遍历。
    else:
        print('该学员不存在')

    print(stu_info)


# 定义查询学员信息的函数
def stu_search_info():
    """查询学员信息的函数"""
    # 1、用户输入需要修改的学员的学号。
    search_id = input('请输入要查询的学员的学号:')

    # 2、判断学员是否存在: 如果存在输入的学号则修改部分信息,如手机号。如果不存在,则报错
    # 2.1 声明stu_info为全局变量
    global stu_info

    # 2.2 遍历列表
    # 2.3 判断学员是否存在:存在执行删除(删除列表中的字典),不存在执行提示操作。
    for i in stu_info:  # 遍历列表中的学员字典信息
        if search_id == i['id']:  # 判断查找的search_id 和字典中id值是否相同
           print('- - -您查询的学员信息如下- - -')
           print(f"学员学号是{i['id']},姓名是{i['name']},性别是{i['gender']},手机号是{i['tel']}")
           break  # 因为id信息不会重复,遍历列表查询到之后,后续不用在遍历。
    else:
        print('该学员不存在')

    print(stu_info)


# 定义查询所有学员信息的函数
def stu_print_all_info():
    """打印所有学员信息的函数"""
    for i in stu_info:
        print("学号,姓名,性别,电话")
        print(f"{i['id']},{i['name']},{i['gender']},{i['tel']}")

# 系统功能需要循环使用,指导用户输入6,才能退出系统。
while True:
    # 1、显示功能界面
    info_print()

    # 2、用户输入序号
    user_num = int(input('请输入功能序号:'))

    # 3、按照用户输入的功能序号,执行不同的功能(函数)

    # 如果用户输入1执行添加,如果输入2执行删除,等等
    if user_num == 1:
        stu_add_info()
    elif user_num == 2:
        stu_del_info()
    elif user_num == 3:
        stu_modify_info()
    elif user_num == 4:
        # print('查询学员')
        stu_search_info()
    elif user_num == 5:
        print('显示所有学员')
        stu_print_all_info()
    elif user_num == 6:
        print('退出系统')
    else:
        print('您输入的功能序号有误')

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有