课时8:EMS项目练习_添加员工

简介: 本文介绍 Python 语言基础中的 EMS(员工管理系统)项目练习,主要实现员工信息的查询、添加、删除和退出功能。通过命令行界面操作,系统提供四个基本功能选项:1. 查询员工;2. 添加员工;3. 删除员工;4. 退出系统。在具体实现中,使用列表保存员工信息,并通过循环和条件判断处理用户输入,确保系统的持续运行和正确响应。本课时重点讲解了如何搭建系统的基本框架及实现员工信息查询功能,后续将深入探讨添加和删除员工的操作。

EMS项目练习_添加员工

 

摘要:本文为 Python 语言基础中 EMS 的项目练习

1.搭建 EMS 的员工管理系统的基本框架操作

2.搭建 EMS 的员工信息查询操作


 

1.1 搭建 EMS 的员工管理系统的基本框架操作

本节课来做练习,EMS(Employee Managen System员工管理系统)练习,做一个通过命令行版本的员工管理系统,我(老师)的桌面有我做的一个员工管理系统,如下图:

image.png

image.png

从图来看要实现四个功能分别是:1.查询、2.添加、3.删除、4.退出。

image.png

如上图,通过员工管理系统输入序号后查询操作显示了孙悟空的信息,

image.png

如上图,通过员工管理系统输入序号后逐条增加了猪八戒的信息并进行了查询,发现已经输入成功。那接下来介绍一下四个功能的形式,

1.查询是显示当前系统当中的所有员工

2.添加是将员工添加到当前系统的

3.删除是将员工从系统当中删除

4.退出是退出系统

在做之前要思考员工信息要保存到哪里? 答案是列表,所以在系统中应该有一个列表,专门用来保存所有员工信息的。首先要显示一个欢迎界面,查询员工就是遍历列表打印出来,添加就增加一个员工信息,删除员工就是删除员工信息。注意:当做完尽量通过命令行来测试。

接下来创建一个新的文件名称为:07.EMS练习.py。

image.png

从上图来说,需要显示系统的欢迎信息:欢迎使用员工管理系统,

示例如下:

#显示系统的欢迎信息
print(‘-’*20, ‘欢迎使用员工管理系统’,’_’*20)

image.png

image.png

image.png


接下来要要显示用户的选项,分别是:‘查询员工’、‘添加员工’、‘删除员工',‘退出系统’这四个选项,示例如下:

#显示系统的欢迎信息
print(‘-’*20, ‘欢迎使用员工管理系统’,’_’*20)
#显示用户的选项
print('请选择要做的操作:')
print('\t1.查询员工')
print('\t2.添加员工')
print('\t3.删除员工')
print('\t4.退出系统')

image.png


接下来增加让用户选择的步骤,示例如下:

#显示系统的欢迎信息
print(‘-’*20, ‘欢迎使用员工管理系统’,’_’*20)
#显示用户的选项
print('请选择要做的操作:')
print('\t1.查询员工')
print('\t2.添加员工')
print('\t3.删除员工')
print('\t4.退出系统')
user_choose = input('请选择[1-4]:')

image.png


从上图来说用户已经输入选择内容了,接下来根据用户的选择做相关的操作,结合上图来给了用户1-4这四个选项,但用户可能输入一下其他内容,所以需要设置5种情况,分别是输入1进入查询员工的操作,输入2进入添加员工的操作,输入3删除员工的操作,输入4退出系统并返回:“欢迎使用!再见!点击回车键退出!”,输入其他内容返回给用户:“您的输入有误,请重新选择!”的信息,同时为了保持系统的循环还需写一个循环while死循环,示例如下:

#显示系统的欢迎信息
print(‘-’*20, ‘欢迎使用员工管理系统’, ’_’*20)
#创建一个死循环
while True:
#显示用户的选项
print('请选择要做的操作:')
print('\t1.查询员工')
print('\t2.添加员工')
print('\t3.删除员工')
print('\t4.退出系统')
user_choose = input('请选择[1-4]:')
#根据用户的选择做相关的操作
if user _choose == '1'
pass
elif user _choose =='2':
pass
elif user _choose =='3'
pass
elif user choose =='4
# 退出
input('欢迎使用!再见!点击回车键退出!')
break
else :
print('您的输入有误,请重新选择!')

image.png

从示例中来看已经执行循环并且可以输入内容进行返回,但距离比较近,所以要增加分割线,在退出程序的操作中也设置分割线并重写写返回内容,示例如下:

#显示系统的欢迎信息
print(‘-’*20, ‘欢迎使用员工管理系统’, ’_’*20)
#创建一个死循环
while True:
#显示用户的选项
print('请选择要做的操作:')
print('\t1.查询员工')
print('\t2.添加员工')
print('\t3.删除员工')
print('\t4.退出系统')
user_choose = input('请选择[1-4]:')
#根据用户的选择做相关的操作
if user _choose == '1'
pass
elif user _choose =='2':
pass
elif user _choose =='3'
pass
elif user choose =='4
# 退出
print('_'*62)
print(‘欢迎使用!再见!’)
input('点击回车键退出!')
break
else :
print('您的输入有误,请重新选择!')
#打印分割线
print('_'*62)

image.png


从示例来看像在上边在打印一条分割线效果会更好,示例如下:

#显示系统的欢迎信息
print(‘-’*20, ‘欢迎使用员工管理系统’, ’_’*20)
#创建一个死循环
while True:
#显示用户的选项
print('请选择要做的操作:')
print('\t1.查询员工')
print('\t2.添加员工')
print('\t3.删除员工')
print('\t4.退出系统')
user_choose = input('请选择[1-4]:')
print('_'*62)
 
#根据用户的选择做相关的操作
if user _choose == '1'
pass
elif user _choose =='2':
pass
elif user _choose =='3'
pass
elif user choose =='4
# 退出
print(‘欢迎使用!再见!’)
input('点击回车键退出!')
break
else :
print('您的输入有误,请重新选择!')
#打印分割线
print('_'*62)

image.png

如上图示例更改的效果呈现会更好一些。以上代码已经把结构搭建完成了。接下来先实现查询员工的操作。

 

1.2 搭建 EMS 的员工信息查询操作

image.png

结合之前写的员工管理系统可以看出查询员工显示了员工的所有信息,分别有序号、姓名、年龄、性别、住址这五类信息,接下来示例如下:

#显示系统的欢迎信息
print(‘-’*20, ‘欢迎使用员工管理系统’, ’_’*20)
#创建一个死循环
while True:
#显示用户的选项
print('请选择要做的操作:')
print('\t1.查询员工')
print('\t2.添加员工')
print('\t3.删除员工')
print('\t4.退出系统')
user_choose = input('请选择[1-4]:')
print('_'*62)
#根据用户的选择做相关的操作
if user _choose == '1'
#查询员工
#打印表头
print('\t序号\t姓名\t年龄\t性别\t住址')
pass
elif user _choose =='2':
    # 添加员工
pass
elif user _choose =='3'
# 删除员工
pass
elif user choose =='4
# 退出
print(‘欢迎使用!再见!’)
input('点击回车键退出!')
break
else :
print('您的输入有误,请重新选择!')
#打印分割线
print('_'*62)

image.png

从示例来看表头显示出来了,接下来显示员工信息,接下来需要一个列表储存员工信息,由于while循环如果把列表放到循环里,每循环一次创建一个列表,所以把列表放到循环外并在查询处显示员工信息,示例如下:

#显示系统的欢迎信息
print(‘-’*20, ‘欢迎使用员工管理系统’, ’_’*20)
#创建一个列表,用来保存员工的信息
emps =[]
#创建一个死循环
while True:
#显示用户的选项
print('请选择要做的操作:')
print('\t1.查询员工')
print('\t2.添加员工')
print('\t3.删除员工')
print('\t4.退出系统')
user_choose = input('请选择[1-4]:')
print('_'*62)
#根据用户的选择做相关的操作
if user _choose == '1'
#查询员工
#打印表头
print('\t序号\t姓名\t年龄\t性别\t住址')
# 显示员工信息
for emp in emps
print(emp)
pass
elif user _choose =='2':
    # 添加员工
pass
elif user _choose =='3'
# 删除员工
pass
elif user choose =='4
# 退出
print(‘欢迎使用!再见!’)
input('点击回车键退出!')
break
else :
print('您的输入有误,请重新选择!')
#打印分割线
print('_'*62)

image.png

从示例来看列表中没有信息,所以在执行是也没有信息。所以要在emps列表添加员工信息,那员工信息以字符串的形式统一保存到列表中,为了对齐和表头的间隔一样。示例如下:

#显示系统的欢迎信息
print(‘-’*20, ‘欢迎使用员工管理系统’, ’_’*20)
#创建一个列表,用来保存员工的信息
emps =[‘\t1\t孙悟空\t18\t男\t花果山’]
#创建一个死循环
while True:
#显示用户的选项
print('请选择要做的操作:')
print('\t1.查询员工')
print('\t2.添加员工')
print('\t3.删除员工')
print('\t4.退出系统')
user_choose = input('请选择[1-4]:')
print('_'*62)
#根据用户的选择做相关的操作
if user _choose == '1'
#查询员工
#打印表头
print('\t序号\t姓名\t年龄\t性别\t住址')
# 显示员工信息
for emp in emps
print(emp)
pass
elif user _choose =='2':
    # 添加员工
pass
elif user _choose =='3'
# 删除员工
pass
elif user choose =='4
# 退出
print(‘欢迎使用!再见!’)
input('点击回车键退出!')
break
else :
print('您的输入有误,请重新选择!')
#打印分割线
print('_'*62)

image.png

从示例来看已经显示信息,所以之后在添加信息也是同样的格式,但序号存在问题,因为把序号写死了,如果列表分别存在1、2、3、4、5这五个信息但我把3号删了,你会发现再查询时没有了序号3。就没有三号了,所以在这个位置不能写序号,那需要在遍历中动态生成,

接下来在查询员工的代码里创建一个变量,来表示员工的序号,示例如下:

#显示系统的欢迎信息
print(‘-’*20, ‘欢迎使用员工管理系统’, ’_’*20)
#创建一个列表,用来保存员工的信息
emps =[‘孙悟空\t18\t男\t花果山’]
#创建一个死循环
while True:
#显示用户的选项
print('请选择要做的操作:')
print('\t1.查询员工')
print('\t2.添加员工')
print('\t3.删除员工')
print('\t4.退出系统')
user_choose = input('请选择[1-4]:')
print('_'*62)
#根据用户的选择做相关的操作
if user _choose == '1'
#查询员工
#打印表头
print('\t序号\t姓名\t年龄\t性别\t住址')
# 创建一个变量,来表示员工的序号
n = 1
# 显示员工信息
for emp in emps :
print(f'\t{n}\t{emp}')
n += 1pass
elif user _choose =='2':
    # 添加员工
pass
elif user _choose =='3'
# 删除员工
pass
elif user choose =='4
# 退出
print(‘欢迎使用!再见!’)
input('点击回车键退出!')
break
else :
print('您的输入有误,请重新选择!')
#打印分割线
print('_'*62)

image.png

从示例来看这个序号是动态生成的,而不是写死的,接下来在添加一个猪八戒来看看效果,示例如下:

#显示系统的欢迎信息
print(‘-’*20, ‘欢迎使用员工管理系统’, ’_’*20)
#创建一个列表,用来保存员工的信息
emps =[‘孙悟空\t18\t男\t花果山’,'猪八戒\t28\t男\t高老庄’]
#创建一个死循环
while True:
#显示用户的选项
print('请选择要做的操作:')
print('\t1.查询员工')
print('\t2.添加员工')
print('\t3.删除员工')
print('\t4.退出系统')
user_choose = input('请选择[1-4]:')
print('_'*62)
#根据用户的选择做相关的操作
if user _choose == '1'
#查询员工
#打印表头
print('\t序号\t姓名\t年龄\t性别\t住址')
# 创建一个变量,来表示员工的序号
n = 1
# 显示员工信息
for emp in emps :
print(f'\t{n}\t{emp}')
n += 1pass
elif user _choose =='2':
    # 添加员工
pass
elif user _choose =='3'
# 删除员工
pass
elif user choose =='4
# 退出
print(‘欢迎使用!再见!’)
input('点击回车键退出!')
break
else :
print('您的输入有误,请重新选择!')
#打印分割线
print('_'*62)

image.png

从示例来看猪八戒的序号就是动态生成的,本课时8就先讲到查询员工,同学可以跟着自己操作一下,同时自己试试添加员工和删除员工的操作,然后下节课时讲。

 

相关文章
|
SQL 数据库
MyBatisPlus-null判定及查询指定字段
MyBatisPlus-null判定及查询指定字段
1538 0
|
9月前
|
JSON 监控 Java
Elasticsearch 分布式搜索与分析引擎技术详解与实践指南
本文档全面介绍 Elasticsearch 分布式搜索与分析引擎的核心概念、架构设计和实践应用。作为基于 Lucene 的分布式搜索引擎,Elasticsearch 提供了近实时的搜索能力、强大的数据分析功能和可扩展的分布式架构。本文将深入探讨其索引机制、查询 DSL、集群管理、性能优化以及与各种应用场景的集成,帮助开发者构建高性能的搜索和分析系统。
571 0
|
10月前
|
Ubuntu 安全 Oracle
Linux发行版三巨头,你会选择哪一个?
如果你需要一个高度稳定和可靠的系统用于服务器或生产环境,且希望完全自由的软件,Debian是一个很好的选择。 如果你是一个新手或桌面用户,希望快速上手并获得来源a2.icy.mobi66来源a2.hum.mobi66广泛的社区支持,Ubuntu是一个理想的选择。 如果你是一个企业用户,需要专业的技术支持和服务,并且愿意为此付费,Red Hat Enterprise Linux无疑是最佳选择。
|
10月前
|
监控 Kubernetes Java
最新技术栈驱动的 Java 绿色计算与性能优化实操指南涵盖内存优化与能效提升实战技巧
本文介绍了基于Java 24+技术栈的绿色计算与性能优化实操指南。主要内容包括:1)JVM调优,如分代ZGC配置和结构化并发优化;2)代码级优化,包括向量API加速数据处理和零拷贝I/O;3)容器化环境优化,如K8s资源匹配和节能模式配置;4)监控分析工具使用。通过实践表明,这些优化能显著提升性能(响应时间降低40-60%)同时降低资源消耗(内存减少30-50%,CPU降低20-40%)和能耗(服务器功耗减少15-35%)。建议采用渐进式优化策略。
537 2
|
人工智能 监控 Shell
常用的 55 个 Linux Shell 脚本(包括基础案例、文件操作、实用工具、图形化、sed、gawk)
这篇文章提供了55个常用的Linux Shell脚本实例,涵盖基础案例、文件操作、实用工具、图形化界面及sed、gawk的使用。
4049 2
|
自然语言处理
什么是大模型的局限性?
【7月更文挑战第25天】什么是大模型的局限性?
3441 3
|
机器学习/深度学习 人工智能 算法框架/工具
基于人体姿势估计的舞蹈检测(AI Dance based on Human Pose Estimation)
基于人体姿势估计的舞蹈检测(AI Dance based on Human Pose Estimation)
576 0
|
Linux Python
Linux离线安装Python依赖包
本文介绍了在Linux环境下离线安装Python依赖包的方法,包括从Python依赖包检索网站下载所需依赖包的压缩文件,上传到Linux服务器,然后通过解压、编译和安装步骤完成依赖包的安装。
1426 0
|
分布式计算 DataWorks NoSQL
DataWorks操作报错合集之出现报错“odps-0123055:用户脚本异常-Traceback(最后一次调用)”,如何解决
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
|
JSON 数据格式 Python
Python三行代码实现json转Excel
最近重保,经常需要通过Excel上报威胁事件。安全设备的告警很多都是json格式的,就需要将json转成Excel。 用Python将json转成excel也就三行代码的事,先将json串导入形成字典对象,再通过pandas转成DataFrame直接输出excel。
1782 0
Python三行代码实现json转Excel