首页 > 其他分享 >函数加强--学员管理系统1

函数加强--学员管理系统1

时间:2022-09-23 23:22:51浏览次数:45  
标签:info 删除 管理系统 -- 用户 学员 print 输入

一、 应用:学院管理系统

  1.1 系统简介

    需求:进入系统显示系统功能界面

      1)添加学员

      2)删除学员

      3)修改学员信息

      4)查询学员信息

      5)显示所有学员信息

      6)推出系统

    系统共6个功能,用户根据自己需求选取。

  1.2 步骤分析

    1)显示功能界面

    2)用户输入功能序号

    3)根据用户输入的功能序号,执行不同的功能(函数)

      3.1 定义函数

      3.2 调用函数

  1.3 需求实现

# 定义功能界面函数
def info_print():
    print('请选择功能----------------')
    print('1、添加学员')
    print('2、删除学员')
    print('3、修改学员信息')
    print('4、查询学员信息')
    print('5、显示说要学员信息')
    print('6、推出系统')
    print('-' * 25)

# 系统功能需要循环使用,知道用户输入6,才推出系统
while True:
    # 1. 显示功能界面
    info_print()

    # 2. 用户输入功能序号
    user_num = int(input('请输入功能序号:'))  # int转换数据类型

    # 3. 按照用户输入的功能序号,执行不同的功能
    if user_num == 1:
        print('1、添加学员')
    elif user_num == 2:
        print('2、删除学员')
    elif user_num == 3:
        print('3、修改学员信息')
    elif user_num == 4:
        print('4、查询学员信息')
    elif user_num == 5:
        print('5、显示说要学员信息')
    elif user_num == 6:
        print('6、推出系统')
    else:
        print('输入错误,请重新输入')

  1.4 定义不同功能的函数

    所有功能函数都是操作学员信息,所有存储所有学员信息应该是一个全局变量,数据类型为列表。

    info = [ ]

   1.4.1 添加学员

    需求分析:

    1. 接受用户输入学员信息,并保存

    2. 判断是否添加学员信息

      2.1 如果学员姓名已经存在,则报错提示

      2.2 如果学员姓名不存在,则准备空字典,将用户输入的数据追加的字典,再列表追加字典数据

    3. 对应的if条件成立的位置调用该函数

    def  add_info():

      pass  # 表示占位

    4. 代码实现

# 添加学员信息的函数
def add_info():
    """添加学员信息"""
    # 1. 用户输入:学号、姓名、手机号
    new_id = input('请输入学号')
    new_name = input('请输入姓名')
    new_tel = input('请输入手机号')

    # 2. 判断是否添加这个学员:如果学员姓名已经存在报错提示,如果姓名不存在添加数据
    # 声明全局变量
    global info
    # 2.1 不允许姓名重复,判断用户输入的姓名 和 列表里面字典的name对应的值 相等 提示
    for i in info:
        if new_name == i['name']:
            print('此用户已存在')
            return
    # 2.2 如果输入的姓名不存在,添加数据:准备空字典,字典新增数据,列表追加字典
    info_dict = {}

    # 字典新增数据
    info_dict['id'] = new_id
    info_dict['name'] = new_name
    info_dict['tel'] = new_tel
    # print(info_dict)

    # 列表追加字典
    info.append(info_dict)
    print(info)

  1.4.2 删除学员

    需求:

    按用户输入的学员姓名进行删除

     1. 用户输入目标学员姓名

     2. 检查这个学员是否存在

      2.1 如果存在,则列表删除这个数据

      2.2 如果不存在,则提示“该用户不存在”

     3. 对应的if条件成立的位置调用该函数

     4. 代码实现

# 删除用户
def del_info():
    """删除用户"""
    # 1. 用户输入要删除的学员姓名
    del_name = input('输入要删除的用户姓名')
    # 2. 判断学员是否存在:存在则删除,不存在提示
    # 2.1 声明info是全局变量
    global info
    # 2.2 遍历列表
    for i in info:
        # 2.3 判断学员是否存在:存在执行删除(列表里面的字典),break:这个系统不允许重名,删除了一个后面的不需要在遍历,不存在提示
        if del_name == i['name']:
            # 列表删除数据 -- 按数据删除remove
            info.remove(i)
            break
    else:
        print('该用户不存在')

    print(info)

标签:info,删除,管理系统,--,用户,学员,print,输入
From: https://www.cnblogs.com/yz-b/p/16709472.html

相关文章

  • 【问题记录】Ant Design的Select标签检验不通过不生成tag
    问题:tags模式下如何检验输入数据,如果检验不通过不生成tag解决办法:在onChange事件中检验即可。tags模式<Selectmode="tags"placeholder="Pleaseselect"......
  • 2022-2023-1 20221304 《计算机基础与程序设计》第四周学习总结
    2022-2023-120221304《计算机基础与程序设计》第四周学习总结作业信息班级:https://edu.cnblogs.com/campus/besti/2022-2023-1-CFAP作业要求:https://www.cnblogs.com/......
  • ubuntu显卡驱动安装(更新)-CUDA安装-cuDNN安装
    文中参考了多篇文章,链接已放入文中,可自行点击参看 显卡驱动 CUDA安装和cuDNN安装参考链接第一步,安装cuda,参考到官网找到对应版本进行安装安装完成后再~/.bashrc......
  • 如何使用DBeaver连接Hive
    1DBeaver介绍DBeaver是一个通用的数据库管理工具和SQL客户端,支持多种兼容JDBC的数据库。DBeaver提供一个图形界面用来查看数据库结构、执行SQL查询和脚本,浏览和导出......
  • Apple Watch All In One
    AppleWatchAllInOneAppleWatch表款https://www.apple.com.cn/watch/compare/#https://www.apple.com.cn/watch/compare/升级WatchOS9.0后,体验太差了本来......
  • SAP UI5 SimpleForm 控件的 adjustLabelSpan 属性
    我们在SAPUI5应用开发时,在XML视图里使用SimpleForm控件,会定义其adjustLabelSpan属性。如果设置,labelSpanL和labelSpanM的使用取决于一行中FormContainer的......
  • 离散傅里叶变换手工实现
    离散傅里叶变换手工实现importnumpyasnpimportmatplotlib.pyplotaspltimportcv2f=[[4,6],[2,9]]F=np.complex64(f)defdft(img,N):W=np.zeros((N,......
  • Day07
    面向过程&面向对象<!--面向对象编程得本质就是:以类的方式组织代码,以对象的组织(封装)数据。--><!--面向对象三大特性:封装,继承,多态-->importjava.io.IOException;​/***......
  • Delphi 11.2的一个问题
    https://quality.embarcadero.com/browse/RSP-39499functionTAndroidVirtualKeyboard.DefineNativeView(constAObject:TFmxObject):JView;functionIsNativeCon......
  • 【Linux】有名管道实现Linux进程间通信
    进程间通信之有名管道​进程间通信有多种方式实现,本文主要讲解有名管道的通信方式。一,有名管道简介匿名管道由于没有名字,只能用于具有亲缘关系的进程间通信。为了克服......