Python基础(十八):学员管理系统应用

news/2024/5/18 18:00:52/文章来源:https://blog.csdn.net/xiaoweite1/article/details/128425183

文章目录

学员管理系统应用

一、系统简介

二、步骤分析

三、需求实现

1、显示功能界面

2、用户输入序号,选择功能

3、根据用户选择,执行不同的功能

4、定义不同功能的函数


学员管理系统应用

一、系统简介

需求:进入系统显示系统功能界面,功能如下:
1、添加学员
2、删除学员
3、修改学员信息
4、查询学员信息
5、显示所有学员信息
6、退出系统
系统共6个功能,用户根据自己需求选取。

二、步骤分析

1. 显示功能界⾯
2. 用户输入功能序号
3. 根据用户输⼊的功能序号,执行不同的功能(函数)
  • 定义函数
  • 调用函数

三、需求实现

1、显示功能界面

定义函数 print_info ,负责显示系统功能。
def print_info():print('-' * 20)print('欢迎登录学员管理系统')print('1: 添加学员')print('2: 删除学员')print('3: 修改学员信息')print('4: 查询学员信息')print('5: 显示所有学员信息')print('6: 退出系统')print('-' * 20)print_info()

2、用户输入序号,选择功能

user_num = input('请选择您需要的功能序号:') 

3、根据用户选择,执行不同的功能

if user_num == '1':print('添加学员')
elif user_num == '2':print('删除学员')
elif user_num == '3':print('修改学员信息')
elif user_num == '4':print('查询学员信息')
elif user_num == '5':print('显示所有学员信息')
elif user_num == '6':print('退出系统')

工作中,需要根据实际需求调优代码。
1. 用户选择系统功能的代码需要循环使用,直到用户主动退出系统。
2. 如果用户输⼊1-6以外的数字,需要提示用户。
while True:# 1. 显示功能界⾯print_info()# 2. ⽤户选择功能user_num = input('请选择您需要的功能序号:')# 3. 根据⽤户选择,执⾏不同的功能if user_num == '1':print('添加学员')elif user_num == '2':print('删除学员')elif user_num == '3':print('修改学员信息')elif user_num == '4':print('查询学员信息')elif user_num == '5':print('显示所有学员信息')elif user_num == '6':print('退出系统')else:print('输⼊错误,请重新输⼊!!!')

4、定义不同功能的函数

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

4.1、添加学员

需求分析
1、接收用户输入学员信息,并保存
2、判断是否添加学员信息
  • 如果学员姓名已经存在,则报错提示
  • 如果学员姓名不存在,则准备空字典,将用户输入的数据追加到字典,再列表追加字典数据
3、对应的if条件成立的位置调用该函数
代码实现
def add_info():""" 添加学员 """# 接收⽤户输⼊学员信息new_id = input('请输⼊学号:')new_name = input('请输⼊姓名:')new_tel = input('请输⼊⼿机号:')# 声明info是全局变量global info# 检测⽤户输⼊的姓名是否存在,存在则报错提示for i in info:if new_name == i['name']:print('该⽤户已经存在!')return# 如果⽤户输⼊的姓名不存在,则添加该学员信息info_dict = {}# 将⽤户输⼊的数据追加到字典info_dict['id'] = new_idinfo_dict['name'] = new_nameinfo_dict['tel'] = new_tel# 将这个学员的字典数据追加到列表info.append(info_dict)print(info)

4.2、删除学员

需求分析
按用户输入的学员姓名进行删除
1、用户输入目标学员姓名
2、检查这个学员是否存在
  • 如果存在,则列表删除这个数据
  • 如果不存在,则提示该用户不存在
3、对应的if条件成立的位置调用该函数
代码实现
def del_info():"""删除学员"""# 1. ⽤户输⼊要删除的学员的姓名del_name = input('请输⼊要删除的学员的姓名:')global info# 2. 判断学员是否存在:如果输⼊的姓名存在则删除,否则报错提示for i in info:if del_name == i['name']:info.remove(i)breakelse:print('该学员不存在')print(info)

4.3、修改学员信息

需求分析
1、用户输入目标学员姓名
2、检查这个学员是否存在
  • 如果存在,则修改这位学员的信息,例如⼿机号
  • 如果不存在,则报错
3、对应的if条件成立的位置调用该函数
代码实现
# 修改函数
def modify_info():"""修改函数"""# 1. ⽤户输⼊要修改的学员的姓名modify_name = input('请输⼊要修改的学员的姓名:')global info# 2. 判断学员是否存在:如果输⼊的姓名存在则修改⼿机号,否则报错提示for i in info:if modify_name == i ['name']:i['tel'] = input('请输⼊新的⼿机号:')breakelse:print('该学员不存在')print(info)

4.4、查询学员信息

需求分析
1、用户输入目标学员姓名
2、检查学员是否存在
  • 如果存在,则显示这个学员的信息
  • 如果不存在,则报错提示
3、对应的if条件成立的位置调用该函数
代码实现
# 查询学员
def search_info():"""查询学员"""# 1. 输⼊要查找的学员姓名:search_name = input('请输⼊要查找的学员姓名:')global info# 2. 判断学员是否存在:如果输⼊的姓名存在则显示这位学员信息,否则报错提示for i in info:if search_name == i['name']:print('查找到的学员信息如下:----------')print(f"该学员的学号是{i['id']}, 姓名是{i['name']}, ⼿机号是{i['tel']}")breakelse:print('该学员不存在')

4.5、显示所有学员信息

需求分析
打印所有学员信息
代码实现
# 显示所有学员信息
def print_all():""" 显示所有学员信息 """print('学号\t姓名\t⼿机号')for i in info:print(f'{i["id"]}\t{i["name"]}\t{i["tel"]}')

4.6、退出系统
在用户输入功能序号 6 的时候要退出系统,代码如下:
    ......elif user_num == '6':exit_flag = input('确定要退出吗?yes or no')if exit_flag == 'yes':break

  • 📢博客主页:https://lansonli.blog.csdn.net
  • 📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!
  • 📢本文由 Lansonli 原创,首发于 CSDN博客🙉
  • 📢停下休息的时候不要忘了别人还在奔跑,希望大家抓紧时间学习,全力奔赴更美好的生活✨

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_239597.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

跨域问题以及解决跨域问题的vue-cli解决方案

跨域问题 写项目前要问后端,接口支持跨域吗? 支持就不会出现问题,不支持就需要解决跨域问题 1.如何判断一个浏览器的请求是否跨域? 在A地址(发起请求的页面地址)向B地址(要请求的目标页面地址)发起请求时&#xff…

Java环境配置——Linux 安装JDK

注意这是用普通用户登录后,单独设置用户的java环境变量,非root用户 root用户的编辑命令是 vi /etc/profile 下载安装包 创建java目录 mkdir java 进入目录 cd java 上传安装包 将jdk-8u161-linux-x64.tar.gz上传到java目录 配置环境变量 解压安…

leetcode——155. 最小栈

leetcode——155. 最小栈🔍题目详情🤔解题思路💻代码实现💬总结👀先看这里👈 😀作者:江不平 📖博客:江不平的博客 📕学如逆水行舟,不进…

【信管5.2】估算活动资源与持续时间

估算活动资源与持续时间在经过上次课程的学习后,我们已经了解到了进度、活动的概念及定义,并且简单地学习了下活动顺序如何排列的一些工具技术。今天,我们学习的主要方向是估算活动资源与估算活动持续时间这两个过程,另外我们还会…

WMS类图分析-android12

为什么要分析类图? WMS是一个复杂的模块,就像一个很大的家族,里面有各种角色,认识类图就像是认识WMS模块中的各个角色,不先把人认清楚了,怎么更好的理解他们之间的交互? 我觉得,这…

达梦数据IPO过会:拟募资24亿 光谷“扫地僧”冯裕才将敲钟

雷递网 雷建平 12月23日武汉达梦数据库股份有限公司(简称:“达梦数据”)日前IPO过会,准备在科创板上市。达梦数据计划募资23.51亿元。其中,3.52亿元用于集群数据库管理系统升级项目,3.43亿元用于高性能分布…

pytorch 多卡运行详细教程

先说明一下背景,目前正在魔改以下这篇论文的代码: https://github.com/QipengGuo/GraphWriter-DGLgithub.com 由于每次完成实验需要5个小时(baseline),自己的模型需要更久(2倍),非…

2022星空创造营应用创新大赛圆满落幕,获奖名单出炉!

​12月22日,2022星空创造营应用创新大赛在2022手机创新周暨第十届手机设计大赛颁奖典礼上作为特别专场正式公布获奖名单。2022星空创造营应用创新大赛由联通在线、手机设计大赛天鹅奖组委会联合主办,联通在线音乐公司及工信部赛迪研究院共同承办&#xf…

小学生C++编程基础 课程10

938.最小公倍数的简单方法 (课程A) 难度:1 登录 939.最大公约数的简单方法 ( 课程A) 难度:1 登录 940.韩信点兵 (课程A) 难度:1 登录 941.求123…N的和 (课程A&#x…

Spring MVC【返回数据与请求转发和重定向】

Spring MVC【返回数据与请求转发和重定向】🍎一. 返回数据🍒1.1 返回静态页面🍒1.2 返回一个非静态页面🍒1.3 返回text/html类型页面🍒1.4 返回JSON对象🍒1.5 实现计算器功能🍒1.6 使用ajax方式…

【算法】P1 算法简介

算法什么是算法正确与错误的算法算法可以解决什么问题本专栏有哪些算法什么是算法 算法 (Algorithm) 取某个值或集合作为 输入,并产生某个值或集合作为 输出。算法就是把输入转换为输出的计算,描述这个计算的过程来实现输入与输出的关系。 正确与错误的…

股票量化分析工具QTYX使用攻略——实盘交易信号监控(更新2.5.7)

搭建自己的量化系统如果要长期在市场中立于不败之地!必须要形成一套自己的交易系统。如何学会搭建自己的量化交易系统?边学习边实战,在实战中学习才是最有效地方式。于是我们分享一个即可以用于学习,也可以用于实战炒股分析的量化…

插值算法基本原理

插值:数据处理的手段 将缺失数据补全处理 线性内插 拉格朗日插值法 牛顿插值 拟合:预测,寻找规律的手段 是插值的外延 插值算法:使用在现有的数据极少,不足以支撑分析的进行,这时就需要使用一些数学方法…

【Vue】Vue重写教室管理系统的前端网页V1(前后端分离)--20221222

项目说明 目的 练习并熟悉Vue2 的API,来为Vue项目做准备: 插值语法插槽props和data父子组件通信Ajax异步请求数据生命周期函数methods方法computed属性vue-router、路由守卫、query/params传参、编程函数式路由模拟后端服务器传送数据打包项目 需要加…

Python正在消亡?致命弱点是否会让Python被新语言取代?

被业界称为“瑞士军刀”的编程语言,可能会被更适合该任务的其他语言取代吗? 自从1990年代初Python发布以来,它引起了很多热议。当然,编程社区花了至少20年的时间才逐渐注意到它的存在,而当它一旦开始流行起来&#xf…

Apache DolphinScheduler 发布 3.1.2 版本,Python API 实现优化

点亮 ⭐️ Star 照亮开源之路https://github.com/apache/dolphinscheduler近日,Apache DolphinScheduler 发布了 3.1.2 版本。此版本主要基于 3.1.1 版本进行了 6 处 Python API 优化,19 处 Bug 修复,并更新了 4 个文档。其中较为重要的 Bug…

Doo Prime 提供高达 1000 倍杠杆,助您撬动无限机遇

2022 年 11 月 19 日,Doo Prime 正式将全部账户类型的可选杠杆从 1:500 上调至 1:1000 倍,提供更灵活的杠杆选择,让全球客户有机会以更少的资金撬动更高的潜在利润,进一步拓展投资机遇。 *备注:杠杆调整详情请参阅下文…

JavaDS1-时间复杂度空间复杂度

目录 1.算法效率 1.1.时间效率(时间复杂度)——衡量算法运行速度 1.2.空间效率(空间复杂度)——衡量算法所需额外空间(如今不再特别关注) 2.时间复杂度 2.1.概念 2.2.大O的渐进表示法 2.2.1.O(F(n))…

学到羊之Kafka

1 kafka 是啥 Kafka 是一款开源的消息引擎系统,用来实现解耦的异步式数据传递。即系统 A 发消息给到 消息引擎系统,系统 B 通过消息引擎系统读取 A 发送的消息,在大数据场景下,能达到削峰填谷的效果。 2 Kafka 术语 Kafka 中的分…

day28【代码随想录】回溯之组合、组合总和|||、电话号码的字母组合

文章目录前言一、组合(力扣77)剪枝优化二、组合总和 III(力扣216)剪枝优化三、电话号码的字母组合(力扣17)总结前言 1、组合 2、组合总和||| 3、电话号码的字母组合 一、组合(力扣77&#xff0…