首页 > 编程语言 >python实现学员管理系统

python实现学员管理系统

时间:2022-11-23 09:35:04浏览次数:43  
标签:info 管理系统 python 信息 学员 user print id

"""
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,退出系统\t\t  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('学号\t\t姓名\t\t电话号码\t')
    for user_id, j in user_info.items():
        print(user_id, end='\t\t')
        # print(j)
        for n in j.values():  # 按照我这个来说,这里没必要使用keys()
            # print(i)
            # print(m)
            print(n, end='\t\t')
        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('功能选择错误,请重新选择')

标签:info,管理系统,python,信息,学员,user,print,id
From: https://www.cnblogs.com/qc2012/p/16917218.html

相关文章

  • wxPython绘图API
    简单介绍一个Pthon的绘图库wxPython.GDI+(图形绘制接口),CoreGraphics和Cairo库形成wxPython绘图API的框架。wx.GraphicsContext是主要绘制对象,使用它来创建各种设备上下文......
  • python_01
    ##两个数字之和number1=2.5number2=3.6sum=number1+number2print(f"{number1}+{number2}=={sum}")##数字的阶乘defget_jiecheng(number):result=1......
  • python 符号计算Sympy
     解方程importsympy#解方程#solve()的第一个参数是要解的方程,第第二个参数是要求解的未知数#solve()解的方程右边必须是0#设未知数x=sympy.Symbol('x')#一......
  • 第2-4-2章 规则引擎Drools入门案例-业务规则管理系统-组件化-中台
    目录3.Drools入门案例3.1业务场景说明3.2开发实现3.3小结3.3.1规则引擎构成3.3.2相关概念说明3.3.3规则引擎执行过程3.3.4KIE介绍3.Drools入门案例全套代码及资......
  • python 用这样子将链表置None了, 为什么没有成功?
    res=ListNode(1)res.next=ListNode(2)#res1->2方式1打印12,这里是为什么?res1=res.nextres1=None方式2打印1res.next=Nonewhileres:pr......
  • C/C++个人帐本管理系统
    C/C++个人帐本管理系统程序设计题3:个人帐本管理系统指导老师:吴家皋[email protected]【问题描述】该系统要求实现一个简单、实用的个人帐本管理程......
  • python-flask(1)(flask 快速开发)
    flask文档新建Flask程序python3版本安装pip库pipinstallflask跨域问题处理pipinstallflask_corsfromflaskimportFlask,jsonify,request,render_t......
  • python--flask(2)(蓝图的使用)
    flask蓝图创建一个蓝图路由在app.py同路径下创建一个路由文件夹声明一个__init__.py文件。fromflaskimportBlueprint#1.创建蓝图对象(蓝图名,,添加路......
  • OpenCV-Python之像素运算
    1.算术运算:加减乘除importcv2ascvdefadd_img(m1,m2):dst=cv.add(m1,m2)cv.imshow("addimage",dst)defsubtract_img(m1,m2):dst=cv.subtract(m1,......
  • python 日志模块 loguru
    前言:日志模块定义好格式,之后直接拿来用即可步骤一:先把日志里面的参数写到配置文件里,之后直接调用即可。这里用的是ini文件(新建一个ini结尾的文件)[log]format={time......