课时10:EMS项目练习_删除员工

简介: EMS项目练习_删除员工简介本文介绍了EMS(员工管理系统)中删除员工功能的实现逻辑。主要内容包括:1. 删除员工的基本逻辑:获取用户输入的员工序号,并将其转换为索引,确保序号的有效性。2. 根据序号获取索引并确认删除:显示提示信息,确认用户是否真的要删除指定员工。若确认,则执行删除操作;否则取消操作。3. 功能测试与总结:通过输入合法和不合法的序号、确认删除指令等测试,确保功能的正确性。此练习有助于理解列表操作,提高编程能力。代码示例和测试结果展示了具体的实现步骤和效果。此功能练习是掌握Python列表操作的重要实践。

EMS项目练习_删除员工

 

摘要

01.删除员工的基本逻辑

02根据序号获取索引并确认删除

03.功能测试与总结

 

01.删除员工的基本逻辑

1.1获取要删除员工的序号

代码:

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_confir m == ’y’ or user_confirm == ’yes’ ; //判断
Emps.append(emp) //确认
print(‘插入成功!’)//显示提示信息
Else:
print(‘插入已取消!’)//取消操作
Pass
Emps.append(emp)
pass
elif user _choose ==’3’:
Del_num=  int(input ("请输入要删除的员工序号:"))
pass
elif user _choose ==’4’:
print('欢迎使用!再见!)
input('点击回车键退出!')
Break
Else:
print('您的输入有误,请重新选择!')
print('-'*62)

首先需要明确要删除的员工对象,这就要求获取该员工的序号。在实际操作中,可通过input函数让用户输入要删除员工的序号,示例代码为: Delete_index  =  input ("请输入要删除的员工序号:")。需要注意的是,用户输入的内容是字符串类型,而后续操作中索引需要是数字类型,因此必须进行类型转换,将其转换为合适的数字类型。

用户输入的是序号(1234),而删除的时候根据索引(0123)去删除,将语句改为Del_num= int( input ("请输入要删除的员工序号:"))因为是序号,用户是不知道索引的,所以要转换为索引。假如有10个员工,而输入11,这就不对了,此时便需要判断序号是否有效。

 

1.2判断序号的有效性

获取到用户输入的序号后,需要判断其有效性。由于员工序号是从1开始计数,而列表索引是从0开始计数,且序号不能超过员工总数,因此需要进行如下判断:

序号最大值不能超过员工列表长度减1,即

Delete_index  <= len(emp_list)。


序号必须大于0 ,即 Delete_index > 0。

若序号不满足上述条件,则提示用户输入有误,示例代码为:

Python if not (1 <= delete_index <= len(emp_list)):
print("您的输入有误,请重新操作。")


02.根据序号获取索引并确认删除

 

当序号有效时,需要将序号转换为对应的索引。由于序号比索引大1,因此索引值为 Del_index1 。

在删除员工之前,为了防止误操作导致数据丢失,需要向用户显示提示信息,询问用户是否确认删除该员工。这比添加员工还重要,因为一旦删除,员工的信息就永远消失了,所以在这必须要显示提示。提示信息应包含员工的序号和具体信息,例如:“员工[序号] [员工姓名] 将被删除,该操作不可恢复。是否确认该操作?”

 

2.1显示提示信息并获取用户确认

示例代码如下:

Python confirm = input(f"员工[{delete_index}] {emp_list[delete_index  1]}将被删除,该操作不可恢复。是否确认该操作?(y/n): ")


然后判断用户输入是否为确认删除的指令(如y或yes),如果是,则执行删除操作;否则,显示操作已取消的提示信息。

 

2.2执行删除操作或取消操作

确认删除:如果用户确认删除,使用列表的Pop方法根据索引删除对应的员工元素,并显示员工已被删除的提示信息,示例代码为:

Python emp_list.pop(delete_index  1)
print("员工已被删除。")
取消操作:如果用户选择不删除,则显示操作已取消的提示信息,代码:
print(‘以下员工将被删除') //显示提示信息
print(‘_’62)
print('\t序号\t姓名\t年龄\t性别\t住址')
print(f'\t{del_num}\t{emps[del_i]}")
print(‘_’62)
user_confirm= input('是否确认该操作[Y/N]:')

执行结果

image.png

代码2:

print(‘以下员工将被删除') //显示提示信息
print(‘_’62)
print('\t序号\t姓名\t年龄\t性别\t住址')
print(f'\t{del_num}\t{emps[del_i]}")
print(‘_’62)
user_confirm= input('是否确认该操作[Y/N]:')
if user confirm =='y'or user_confirm == 'yes' //判断
emps.pop(del_i)  //删除元素
print(‘员工已被删除!')  //显示提示
else :
print(‘操作已取消!’)

执行代码结果:

image.png

 

03.功能测试与总结

 

完成上述代码编写后,需要进行功能测试,以确保删除员工功能的正确性。测试过程包括:

输入合法的序号进行删除操作,检查员工是否被正确删除,以及删除后员工序号是否自动调整。

输入不合法的序号,检查是否提示输入有误。

输入确认删除指令和不确认删除指令,检查程序是否按照预期执行相应的操作。

此删除员工的功能练习是对列表的综合应用,涉及到数据的存储、删除和获取等基本操作。在实际应用中,可能会存在一些小问题,需要在后续学习中进一步纠正和优化。但通过多次练习,能够加深对列表操作的理解和掌握,提高编程能力。

 

相关文章
|
3月前
|
数据可视化 Java 测试技术
Coze vs 主流测试框架技术选型指南
面对测试框架选型难题,团队常陷入传统与新兴工具之争。本文系统对比JUnit等传统框架与新一代Coze在学习成本、测试类型、报告可视化、CI集成等方面的优劣,结合实战场景提出选型策略与迁移路径,助你根据项目特点做出理性选择,实现测试效率与质量的双重提升。
|
8月前
|
供应链 JavaScript 前端开发
如何开发采购供应链管理系统中的供应商管理看板(附架构图+流程图+代码参考)
在现代企业采购供应链管理中,高效的供应商管理对成本控制、交付周期和产品质量至关重要。本文探讨如何构建供应商管理看板,涵盖功能模块、业务流程、开发技巧及代码示例,助力企业提升供应链透明度与管理效率。
|
8月前
|
资源调度 供应链 算法
一文讲清智能排产系统搭建全攻略
本文将聚焦智能排产系统的落地路径:先阐释其“整合订单、工艺、资源等要素,实现自动化排产方案生成”的核心功能,再从基础数据搭建、智能排产工作台配置、生产报工闭环、经营看板分析四大模块,详解系统搭建的关键逻辑与实施步骤,为制造企业提供从排产混乱到精益协同的系统化解决方案。
|
消息中间件 存储 运维
云消息队列 Kafka 版全面升级:经济、弹性、稳定,成本比自建最多降低 82%
本文介绍了阿里云云消息队列 Kafka 版的全面升级,强调了其在经济性、稳定性和弹性方面的显著提升。同时,与 Apache Kafka 相比,云消息队列 Kafka 版通过节省 66% 的资源,实现了客户使用成本比自建最多降低 82%。
717 103
|
存储 JavaScript 前端开发
vue3的脚手架模板你真的了解吗?里面有很多值得我们学习的地方!
【10月更文挑战第21天】 vue3的脚手架模板你真的了解吗?里面有很多值得我们学习的地方!
vue3的脚手架模板你真的了解吗?里面有很多值得我们学习的地方!
|
机器学习/深度学习 人工智能 算法
鸟类识别系统Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+ResNet50算法模型+图像识别
鸟类识别系统。本系统采用Python作为主要开发语言,通过使用加利福利亚大学开源的200种鸟类图像作为数据集。使用TensorFlow搭建ResNet50卷积神经网络算法模型,然后进行模型的迭代训练,得到一个识别精度较高的模型,然后在保存为本地的H5格式文件。在使用Django开发Web网页端操作界面,实现用户上传一张鸟类图像,识别其名称。
721 12
鸟类识别系统Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+ResNet50算法模型+图像识别
|
存储 移动开发 数据库
HTML5 Web IndexedDB 数据库常用数据存储类型
IndexedDB 支持多种数据存储类型,满足复杂数据结构的存储需求。它包括基本数据类型(如 Number、String、Boolean、Date)、对象(简单和嵌套对象)、数组、Blob(用于二进制数据如图像和视频)、ArrayBuffer 和 Typed Arrays(处理二进制数据)、结构化克隆(支持 Map 和 Set 等复杂对象),以及 JSON 数据。尽管不直接支持非序列化数据(如函数和 DOM 节点),但可以通过转换实现存储。开发者应根据具体需求选择合适的数据类型,以优化性能和使用体验。
1036 10
|
虚拟化 数据安全/隐私保护 网络安全
|
存储 SQL 算法
【Hive】ORC、Parquet等列式存储的优点
【4月更文挑战第14天】【Hive】ORC、Parquet等列式存储的优点

热门文章

最新文章