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

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

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

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

    # 1.公共操作 # del 删除 删除变量或指定容器内数据 变量,容器里面的值 # + 将两个相同类型序列进行连接 字符串,列表,元组 print(‘1.公共操作’) print(‘a’ + ‘b’) print([‘a’] + [‘b’]) print((‘a’,)+(‘b’,)) # 元组,要有, # print({1:2}+{2:3}) # 字典不行…

    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中的面向对象

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

    2023年4月2日
    00
  • python函数入门

    1.函数的作用 # sum() max() min() len() type() # 使用函数都需要加一个括号 # 有自己的功能 # ‘a’.replace() # 称为方法 点出来的有括号的称为方法 # a.name # 称为属性 # sum() # 是函数 # 不加括号时,sum代表的是整个函数 # 加了括号时,sum()代表的是使用函数 # 1.函数的…

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