python实现学员管理系统

"""
1.学员管理系统
    系统功能界面
        1-添加学员
        2-删除学员
        3-修改学员信息
        4-查询学员信息
        5-退出系统
        6-显示全部学员信息
"""

# 打印要操作的信息
# 使用数字表示使用的功能
# 输入对应的数字,表示要操作的功能
# 1:增加学员信息 2:删除学员信息
# 3:修改学员信息 4:查看学员信息 5:退出系统

# 存储数据
# str number list set tuple dict
# 学员的信息 学号 名字 手机号
# 选择dict类型存储
user_info = {}


# 打印系统界面
def print_info() -> str:
    """
    打印系统功能页面
    :return: 功能选择 str
    """
    print('-'*20+'选择功能'+'-'*20)
    print('1,增加学员信息t  2,删除学员信息t  3,修改学员信息t
      n4,查看学员信息t  5,退出系统tt  6,显示全部学员信息t')
    number = input('请输入数字,选择操作的功能:')
    print('-'*20)
    return number


# 增加
def add_info():
    """
    增加学员信息
    :return:
    """
    print('增加学员信息')
    while True:
        user_id = input('请输入学员的学号:')
        user_name = input('请输入学员的名字:')
        number = input('请输入学员的电话:')
        if verify_info(user_id):  # 如果该学号在字典中
            print('已有这个学员,不可重复添加')
            print('请重新输入!')
        else:
            # 添加数据到user_info中
            user_info[user_id]= {'user_name': user_name, 'number': number}  # 字典中字典
            print(f'增加成功,数据为{user_id}->{user_info[user_id]}')
            break


# 确认学员学号是否存在
def verify_info(user_id):
    """
    确认学号是否存在
    :return:
    """
    if user_id in user_info.keys():  # 如果该学号在字典中
        return True
    else:
        print(f'没有找到学号为{user_id}的学员信息')
        return False


# 删除
def del_info():
    """
    删除学员信息
    :return:
    """
    print('删除学员信息')
    user_id = input('请输入学员的学号:')
    if verify_info(user_id):  # 判断学员id是否存在
        print(f'学员{user_id}的{user_info[user_id]}已经删除')  # 必须是先打印再删除,否则报错
        del user_info[user_id]  # 删除学员数据


# 修改
def alter_info():
    """
    修改学员信息
    :return:
    """
    print('修改学员信息')
    user_id = input('请输入学员的学号:')
    if verify_info(user_id):  # 判断学员id是否存在
        while True:
            print('1, 修改名字  2, 修改手机号')
            data = input('请输入要操作的功能')
            if data == '1':
                new_name = input('请输入修改后的名字')
                user_info[user_id]['user_name'] = new_name
                print(f'学员{user_id}的{user_info[user_id]}已经修改')
                break
            elif data == '2':
                new_number = input('请输入修改后的手机号')
                user_info[user_id]['number'] = new_number
                print(f'学员{user_id}的{user_info[user_id]}已经修改')
                break
            else:
                print('功能选择错误,请重新选择')


# 查看
def search_info():
    """
    查询学员信息
    :return:
    """
    print('查询学员信息')
    # 查询学号
    user_id = input('请输入要查询学员的学号:')
    if verify_info(user_id):
        print(f'学号为{user_id}的学员的信息为: {user_info[user_id]}')


# 显示全部信息
def show_all():
    """
    显示全部信息
    :return:
    """
    print('全部学员信息如下:')
    print('学号tt姓名tt电话号码t')
    for user_id, j in user_info.items():
        print(user_id, end='tt')
        # print(j)
        for n in j.values():  # 按照我这个来说,这里没必要使用keys()
            # print(i)
            # print(m)
            print(n, end='tt')
        print()


if __name__ == '__main__':  # 程序的入口,程序从这里运行
    while True:
        value = print_info()

        if value == '1':  # 因为value是str类型
            add_info()  # 调用增加学员信息的函数
        elif value == '2':
            del_info()  # 调用删除信息的函数
        elif value == '3':
            alter_info()  # 调用修改信息的函数
        elif value == '4':
            search_info()  # 查询学员信息
        elif value == '5':
            break  # 结束程序运行
        elif value == '6':
            show_all()
        else:
            print('功能选择错误,请重新选择')

python实现学员管理系统

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python实现学员管理系统 - Python技术站

(0)
上一篇 2023年4月2日 下午4:23
下一篇 2023年4月2日

相关文章

  • python中的字典和集合

    # 1.字典 存储数据 存储一个数据的属性 可以快速进行查找 # dict_data = {key:value,key:value,…} # key是键 # value是值 # 以大括号表示 # 数据是以键值对出现的 键值对中间用冒号连接 # key的值必须是不可变类型 # 字典和列表和集合是可变类型 print(‘1.字典’) dict_data = …

    2023年4月2日
    00
  • python中的面向对象

    # 面向对象是非常重要的! # 抽象,是个思想,结构 # 小明 小红 小雨 都是人 # 海尔洗衣机 海东洗衣机 海西洗衣机 都是洗衣机 # 猫 狗 熊猫 都是动物 # 蓝图 # # class WashingMachine: # 类名一般是大驼峰 # pass # # 特征是属性 # age = 20 # # 行为是方法 # def # 先有类,后有对象 #…

    2023年4月2日
    00
  • python中的函数(1)

      # 1.函数 # 函数就是将一段具有独特功能的代码段整合到一个整体并命名 # 在需要的位置调用这个名称即可完成对应的需求 # 函数的作用:封装代码(方便管理),实现代码重用 print(‘1.函数作用’) name_list = [‘小明’, ‘小刚’] # 列表 print(len(name_list)) # 长度为2 print() name_lis…

    2023年4月2日
    00
  • python中的公共操作与列表推导式

    1.公共操作 # + 合并 将两个相同类型序列进行连接 字符串、 列表、元组 l1 = [1, 2, 3] l2 = [4, 5, 6] print(l1+l2) # [1, 2, 3, 4, 5, 6]     # * 复制 将里面的数据进行复制 字符串、列表、元组 l1 = [1, 2, 3] print(l1 * 3) # [1, 2, 3, 1, 2…

    2023年4月2日
    00
  • python中的函数进阶

    1.局部变量和全局变量 在函数外定义的不可变数据类型,在函数里面是可读不可写在函数外定义的可变数据类型,在函数里面可读可操作不可修改不可变类型传入函数,进行的操作不会影响到外面的变量但是当我们声明一个变量为全局变量后,进行的操作会影响到函数外的变量 可变数据类型,传入和直接使用都会改变原本的数据不可变数据类型 直接使用是可读不可写的 传入后的操作不会对函数外…

    2023年4月2日
    00
  • python中的字典和集合

    1.字典 # 基础数据类型 # bool int float str list tuple dict set # list dict set 可变数据类型 # bool int float str tuple 不可变数据类型 # 1.字典 dict # dict_data={key: value, key1: value1} # 1,符号以大括号表示 # 2…

    2023年4月2日
    00
  • python中的高阶函数

    1.匿名函数 # 1.匿名函数lambda # 简化代码 减少占用的内存 print(‘1.匿名函数lambda’) def func(): print(10) func() func = lambda: print(10) # 出现警告的原因是: # 因为你把lambda表达式赋给了另一个变量。 # 但lambda表达式本就是一个匿名的函数, # PEP8…

    2023年4月2日
    00
  • python函数进阶

    # 1.函数的作用域 # 全局变量的作用域: # 一般在函数体外定义的变量成为全局变量,在函数内部定义的变量称为局部变量。 # 全局变量所有作用域都可用,局部变量只能在本函数可用,变 # 量的使用顺序是,局部变量 > 全局变量, 也就是说:优先使用局部变量 # # global关键字: # 为了解决函数内使用全局变量的问题, # python增加了gl…

    2023年4月2日
    00
合作推广
合作推广
分享本页
返回顶部