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

简介: 本内容介绍EMS项目练习中的“添加员工”功能。通过四个Input输入框获取新员工的姓名、年龄、性别和住址信息,并将其格式化为字符串后添加到员工列表中。为了提高用户体验,在添加前会弹出确认提示,用户可以选择是否确认添加。确认后显示“插入成功”,取消则显示“插入已取消”。该功能确保了数据的准确性和操作的可控性。

EMS项目练习_添加员工

 

摘要:本内容为EMS项目练习:添加员工

 

添加员工顾名思义是向列表中添加一个新员工,添加员工要明确的第一个问题是添加谁,添加员工就是将元素添加在列表中,添加员工之前要获取添加员工的信息:姓名、年龄、性别、住址,这些信息由用户输入,此时需要四个Input。

第一个输入姓名,即 Name

print('_'*20,'欢迎使用员工管理系统",'_'*20)
emps =['孙悟空\t18\t男\t花果山’,‘猪八戒\t28\t男\t高老庄’]
while True:
Emp_name = input(‘请输入员工的姓名:‘)
Emp_age = input(‘请输入员工的年龄:‘) 
Emp_gender = input(‘请输入员工的性别:‘) 
Emp_address = input(‘请输入员工的住址:‘)  
emps.append(f'{emp_name}\t{emp_age}\t{emp_gender}\t{emp_address}')
pass
elif user _choose ==’3’:
pass
elif user _choose ==’4’:
print('欢迎使用!再见!)
input('点击回车键退出!')
Break
Else:
print('您的输入有误,请重新选择!')
print('-'*62)


获取四个信息,将四个信息拼接为一个字符串,插入列表

插入列表即 Emps,直接写一个Emps,若想在列表最后插入元素,使用 Append ,Append的结构应该与’孙悟空 \t 18\t 男 \t 花果山‘一致,内容改为需要输入的信息,第一步将其改为格式化字符串,孙悟空改为 Emp_name ,t 18改为 Emp_age ,t 男改为 Emp_gender ,t 花果山改为Emp_address 。

回顾之前的课程,除了用_ 还可以使用 %s等很多种方式。

保存代码,运行,先查询,此时只有两个员工孙悟空和猪八戒,执行添加

请输入员工的姓名:沙和尚

请输入员工的年龄:38

请输入员工的性别:男

请输入员工的住址:流沙河

保存执行,添加员工成功

image.png

此时出现一个问题不合理:例如添加一个人员 aa ,虽然添加成功,但在原输入地没有提示

请输入员工的姓名:aa

请输入员工的年龄:bb

请输入员工的性别:cc

请输入员工的住址:dd

image.png

image.png

合理情况下应该有一个“将把 aa 添加,是否确认该操作”的提示,此时在添加之前应该显示一个提示信息

print('_'*20,'欢迎使用员工管理系统",'_'*20)
emps =['孙悟空\t18\t男\t花果山’,‘猪八戒\t28\t男\t高老庄’]
while True:
Emp_name = input(‘请输入员工的姓名:‘)
Emp_age = input(‘请输入员工的年龄:‘) 
Emp_gender = input(‘请输入员工的性别:‘) 
Emp_address = input(‘请输入员工的住址:‘)  
Emp=f’{emp_name}\t{emp_age}\t{emp_gender}\t{emp_address}’  //创建员工信息
Input('员工:',emp,’将会被添加到系统中,是否确认该操作[Y/N]:')  //显示一个提示信息,Y 表示同意,N 表示不同意
Emps.append(emp)
pass
elif user _choose ==’3’:
pass
elif user _choose ==’4’:
print('欢迎使用!再见!)
input('点击回车键退出!')
Break
Else:
print('您的输入有误,请重新选择!')
print('-'*62)


操作或改数据时,要弹出一个提示,询问用户是否确认此操添加一个员工信息,执行,程序报错

image.png

while True:

Emp_name = input(‘请输入员工的姓名:‘)
Emp_age = input(‘请输入员工的年龄:‘) 
Emp_gender = input(‘请输入员工的性别:‘) 
Emp_address = input(‘请输入员工的住址:‘)  
Emp=f’{emp_name}\t{emp_age}\t{emp_gender}\t{emp_address}’  //创建员工信息
Input(‘员工:’+emp+’ 将会被添加到系统中,是否确认该操作[Y/N]:’)
Emps.append(emp)
pass
elif user _choose ==’3’:
pass
elif user _choose ==’4’:
print('欢迎使用!再见!)
input('点击回车键退出!')
Break
Else:
print('您的输入有误,请重新选择!')
print('-'*62)


Input 只能传递一个参数,如果使用 Input,就不可以使用,而是要写为Input(‘员工:’+emp+’ 将会被添加到系统中,是否确认该操作[Y/N]:’)才可以。

执行结果:输入正确,但显示不雅观,将其改为

image.png

while True:
Emp_name = input(‘请输入员工的姓名:‘)
Emp_age = input(‘请输入员工的年龄:‘) 
Emp_gender = input(‘请输入员工的性别:‘) 
Emp_address = input(‘请输入员工的住址:‘)  
Emp=f’{emp_name}\t{emp_age}\t{emp_gender}\t{emp_address}’  //创建员工信息
Input(‘员工:’+emp+’ 将会被添加到系统中,是否确认该操作[Y/N]:’)
Print(‘以下员工将被添加到系统中’)
Print(‘姓名\t年龄\t性别\t住址’)
Print(‘emp’)
Print(‘是否确认该操作[Y/N]’)
Emps.append(emp)
pass
elif user _choose ==’3’:
pass
elif user _choose ==’4’:
print('欢迎使用!再见!)
input('点击回车键退出!')
Break
Else:
print('您的输入有误,请重新选择!')
print('-'*62)


执行结果:显示正确

image.png

想要显示更清晰,可以在其上下各加一个分割线

while True:
Emp_name = input(‘请输入员工的姓名:‘)
Emp_age = input(‘请输入员工的年龄:‘) 
Emp_gender = input(‘请输入员工的性别:‘) 
Emp_address = input(‘请输入员工的住址:‘)  
Emp=f’{emp_name}\t{emp_age}\t{emp_gender}\t{emp_address}’  //创建员工信息
Input(‘员工:’+emp+’ 将会被添加到系统中,是否确认该操作[Y/N]:’)
Print(‘以下员工将被添加到系统中’)
Print(‘_’*62)
Print(‘姓名\t年龄\t性别\t住址’)
Print(‘emp’)
Print(‘_’*62)
Print(‘是否确认该操作[Y/N]:’)
Emps.append(emp)
pass
elif user _choose ==’3’:
pass
elif user _choose ==’4’:
print('欢迎使用!再见!)
input('点击回车键退出!')
Break
Else:
print('您的输入有误,请重新选择!')
print('-'*62)


 

保存执行:显示是否确认该操作[Y/N]

image.png

功能不断完善,此时用户会有一个选择 [Y/N],接收变量

User_confirm = input(‘是否确认该操作[Y/N]:’),用户的接收信息,此时可以判断:

If user_confirm == ’y’ ;

如果等于 y ,即确认,确认之后直接 Append

Emps.append(emp)

如果不确认,要考虑多种情况,可能输 y ,也可能输 Yes ,

If user_confirm == ’y’ or user_confirm == ’yes’ ;

Else:即什么都没有,也即取消操作,取消操作就什么都不做,先Pass,保存执行,添加员工,选择 Y,添加成功;选择 N,不添加

while True:
Emp_name = input(‘请输入员工的姓名:‘)
Emp_age = input(‘请输入员工的年龄:‘) 
Emp_gender = input(‘请输入员工的性别:‘) 
Emp_address = input(‘请输入员工的住址:‘)  
Emp=f’{emp_name}\t{emp_age}\t{emp_gender}\t{emp_address}’  //创建员工信息
Input(‘员工:’+emp+’ 将会被添加到系统中,是否确认该操作[Y/N]:’)
Print(‘以下员工将被添加到系统中’)
Print(‘_’*62)
Print(‘姓名\t年龄\t性别\t住址’)
Print(‘emp’)
Print(‘_’*62)
Print(‘是否确认该操作[Y/N]:’)
If user_confirm == ’y’ or user_confirm == ’yes’ ; //判断
Emps.append(emp) //确认
Else:
//取消操作
Pass
Emps.append(emp)
pass
elif user _choose ==’3’:
pass
elif user _choose ==’4’:
print('欢迎使用!再见!)
input('点击回车键退出!')
Break
Else:
print('您的输入有误,请重新选择!')
print('-'*62)

image.png

image.png

成功插入,应显示提示信息插入成功,取消操作,也应该显示提示信息插入已取消

while True:
Emp_name = input(‘请输入员工的姓名:‘)
Emp_age = input(‘请输入员工的年龄:‘) 
Emp_gender = input(‘请输入员工的性别:‘) 
Emp_address = input(‘请输入员工的住址:‘)  
Emp=f’{emp_name}\t{emp_age}\t{emp_gender}\t{emp_address}’  //创建员工信息
Input(‘员工:’+emp+’ 将会被添加到系统中,是否确认该操作[Y/N]:’)
Print(‘以下员工将被添加到系统中’)
Print(‘_’*62)
Print(‘姓名\t年龄\t性别\t住址’)
Print(‘emp’)
Print(‘_’*62)
Print(‘是否确认该操作[Y/N]:’)
If user_confirm == ’y’ or user_confirm == ’yes’ ; //判断
Emps.append(emp) //确认
print(‘插入成功!’)//显示提示信息
Else:
print(‘插入已取消!’)//取消操作
Pass
Emps.append(emp)
pass
elif user _choose ==’3’:
pass
elif user _choose ==’4’:
print('欢迎使用!再见!)
input('点击回车键退出!')
Break
Else:
print('您的输入有误,请重新选择!')
print('-'*62)


保存,添加员工信息,选择 Y ,显示插入成功,选择 N ,显示插入已取消

image.png


确认是可选择的,可以先不加确认,添加成功之后再确认。接下来就是删除,删除要根据序号删除。

相关文章
|
XML Java 数据库连接
mybatis中在xml文件中通用查询结果列如何使用
mybatis中在xml文件中通用查询结果列如何使用
695 0
|
弹性计算 测试技术
阿里云服务器网络收发包PPS是什么意思?5万PPS/10万/20万/80万/100万PPS
阿里云服务器网络收发包PPS是衡量云服务器网络质量的一项重要指标,单位是PPS,PPS是指Packets Per Second,每秒发包数量
7903 0
阿里云服务器网络收发包PPS是什么意思?5万PPS/10万/20万/80万/100万PPS
|
2月前
|
数据采集 运维 数据可视化
AR 运维系统与 MES、EMA、IoT 系统的融合架构与实践
AR运维系统融合IoT、EMA、MES数据,构建“感知-分析-决策-执行”闭环。通过AR终端实现设备数据可视化,实时呈现温度、工单等信息,提升运维效率与生产可靠性。(238字)
|
9月前
2024阿里云技术年报 基础设施篇
2024阿里云技术年报 基础设施篇
232 11
|
8月前
|
人工智能 搜索推荐 大数据
大家都在怎么用AI?2024趋势报告
大家都在怎么用AI?2024趋势报告
|
11月前
|
人工智能 智能硬件
SPAR:智谱 AI 推出自我博弈训练框架,基于生成者和完善者两个角色的互动,提升了执行准确度和自我完善能力
SPAR 是智谱团队推出的自我博弈训练框架,旨在提升大型语言模型在指令遵循方面的能力,通过生成者和完善者的互动以及树搜索技术优化模型响应。
316 0
SPAR:智谱 AI 推出自我博弈训练框架,基于生成者和完善者两个角色的互动,提升了执行准确度和自我完善能力
|
关系型数据库 数据库 PostgreSQL
PostgreSQL数据库的字符串拼接语法使用说明
【6月更文挑战第11天】PostgreSQL数据库的字符串拼接语法使用说明
1506 1
|
存储 Kubernetes Cloud Native
【云原生】k8s集群部署Rook+Ceph云原生存储
【云原生】k8s集群部署Rook+Ceph云原生存储
1000 0
|
存储 关系型数据库 Go
深入理解 PostgreSQL 中的 MVCC(多版本并发控制)机制
深入理解 PostgreSQL 中的 MVCC(多版本并发控制)机制
558 0
SaaS架构图 #114
SaaS架构图 #114
425 0