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中的while循环

    1.while循环 “”” while 条件: 执行语句1··· 执行语句2·· “”” # while 1+1 == 2: # print(‘666’) # 计数器 叫法 代表一个功能 # i = 0 # 定义一个临时变量 记录循环次数 # while 1 + 1 == 2: # i += 1 # 循环次数+1 自增1 # print(‘我帅’, i) i…

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

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

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

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

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

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

    2023年4月2日
    00
  • python中的列表和元组

    # 1.列表的格式 # [数据1,数据2,数据3,···] # 列表 可变数据类型 # 列表可以存储多个数据,数据之间的逗号以英文逗号分隔 # 列表可以存储不同类型数据,但一般存储同一数据类型,这样便于操作 # list_name = [] # 定义了一个空的列表 # 定义了一个有数据的列表 # 可以去索引和切片 print(‘1.列表的格式’) list_…

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

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

    2023年4月2日
    00
  • python中的for循环

    1.range # 1.range(起始值,结束值,步长) # 范围 区间 # 步长不写时默认是1 # 当里面只有一个数据的时候,默认是0-结束值 # 当里面有两个数据的时候,是 起始值-结束值 print(‘1.range()’) print(range(5, 9, 1)) print(type(range(9)))       2. for循环 # 2.…

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

    1.匿名函数 # lambda表达式 # 匿名函数 # 没有名字的函数 相当于 # 优点:节省内存空间 优化代码 # def add(a, b): # return a+b def add(a, b): return a + b # 当函数里面的代码只有一行的时候可以这样写! print(add(1, 2)) # 但函数里面的代码只有一行,可以转换为匿名函数…

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