课时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


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

相关文章
|
弹性计算 测试技术
阿里云服务器网络收发包PPS是什么意思?5万PPS/10万/20万/80万/100万PPS
阿里云服务器网络收发包PPS是衡量云服务器网络质量的一项重要指标,单位是PPS,PPS是指Packets Per Second,每秒发包数量
8086 0
阿里云服务器网络收发包PPS是什么意思?5万PPS/10万/20万/80万/100万PPS
|
XML Java 数据库连接
mybatis中在xml文件中通用查询结果列如何使用
mybatis中在xml文件中通用查询结果列如何使用
727 0
|
5月前
|
前端开发 JavaScript API
一文吃透 Promise 与 async/await,异步编程也能如此简单!建议收藏!
在前端开发中,异步编程至关重要。本文详解了同步与异步的区别,通过生活化例子帮助理解。深入讲解了 Promise 的概念、状态及链式调用,并引入 async/await 这一语法糖,使异步代码更清晰易读。还介绍了多个异步任务的组合处理方式,如 Promise.all 与 Promise.race。掌握这些内容,将大幅提升你的异步编程能力,写出更优雅、易维护的代码,助力开发与面试!
299 0
一文吃透 Promise 与 async/await,异步编程也能如此简单!建议收藏!
|
11月前
2024阿里云技术年报 基础设施篇
2024阿里云技术年报 基础设施篇
280 11
|
人工智能 智能硬件
SPAR:智谱 AI 推出自我博弈训练框架,基于生成者和完善者两个角色的互动,提升了执行准确度和自我完善能力
SPAR 是智谱团队推出的自我博弈训练框架,旨在提升大型语言模型在指令遵循方面的能力,通过生成者和完善者的互动以及树搜索技术优化模型响应。
387 0
SPAR:智谱 AI 推出自我博弈训练框架,基于生成者和完善者两个角色的互动,提升了执行准确度和自我完善能力
|
关系型数据库 数据库 PostgreSQL
PostgreSQL数据库的字符串拼接语法使用说明
【6月更文挑战第11天】PostgreSQL数据库的字符串拼接语法使用说明
1659 1
|
存储 Kubernetes Cloud Native
【云原生】k8s集群部署Rook+Ceph云原生存储
【云原生】k8s集群部署Rook+Ceph云原生存储
1070 0
|
存储 关系型数据库 Go
深入理解 PostgreSQL 中的 MVCC(多版本并发控制)机制
深入理解 PostgreSQL 中的 MVCC(多版本并发控制)机制
654 0
|
存储 缓存 运维
从零开始入门 K8s | 调度器的调度流程和算法介绍
Kubernetes 作为当下最流行的容器自动化运维平台,以声明式实现了灵活的容器编排,本文以 v1.16 版本为基础详细介绍了 K8s 的基本调度框架、流程,以及主要的过滤器、Score 算法实现等,并介绍了两种方式用于实现自定义调度能力。
从零开始入门 K8s | 调度器的调度流程和算法介绍
|
网络协议 安全 数据挖掘
IPv6
IPv6地址和简介
718 0

热门文章

最新文章