课时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.功能测试与总结

 

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

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

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

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

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

 

相关文章
|
25天前
|
消息中间件 人工智能 Apache
Apache RocketMQ × AI:面向 Multi-Agent 的事件驱动架构
本文介绍基于Apache RocketMQ构建异步化Multi-Agent系统的新架构,通过语义化Topic实现Agent能力发现,利用Lite-Topic支持轻量级异步通信与结果反馈,结合InterestSet+ReadySet事件驱动模型,高效支撑任务闭环、状态恢复与动态编排,为Agentic AI提供高扩展、低延迟的协同机制。
|
6月前
|
JSON 监控 API
深度解析淘宝天猫店铺所有商品API接口,一文带你吃透
本文介绍如何通过淘宝开放平台的API获取店铺所有商品信息,适用于电商数据分析、竞品监控等场景。核心接口为`tb.items.onsale.get`(出售中商品)和`tb.items.inventory.get`(库存商品列表)。接口采用HTTP POST请求,返回JSON格式数据,包含商品总数、列表及各商品的ID、标题、价格、图片URL等关键信息,并提供Python实现示例,助力开发者高效获取与处理数据。
|
消息中间件 存储 运维
云消息队列 Kafka 版全面升级:经济、弹性、稳定,成本比自建最多降低 82%
本文介绍了阿里云云消息队列 Kafka 版的全面升级,强调了其在经济性、稳定性和弹性方面的显著提升。同时,与 Apache Kafka 相比,云消息队列 Kafka 版通过节省 66% 的资源,实现了客户使用成本比自建最多降低 82%。
607 102
|
存储 固态存储 关系型数据库
【mysql进阶-彩蛋篇】深入理解顺序io和随机io(全网最详细篇)
【mysql进阶-彩蛋篇】深入理解顺序io和随机io(全网最详细篇)
1128 0
|
10月前
|
IDE 开发工具 Python
用Python绘制一只懒羊羊
本教程介绍如何使用Python和Turtle图形库绘制可爱的懒羊羊。Turtle是Python内置的简单绘图工具,适合初学者。我们通过导入Turtle库、设置画布、绘制头部、眼睛、嘴巴、身体和四肢等步骤,逐步完成懒羊羊的绘制。每个部分都用简单的代码指令实现,最终展示一个完整的懒羊羊图案。通过这个实践,你不仅能学会Turtle的基本用法,还能加深对编程绘图的理解。
383 4
|
11月前
|
监控 编译器 C语言
【C语言】inline 关键字详解
`inline` 关键字是C语言中的一个有用工具,通过消除函数调用的开销来提高执行效率。然而,它并不是万能的,应该根据具体情况慎重使用,以避免代码膨胀和其他潜在问题。
531 1
|
12月前
|
机器学习/深度学习 自然语言处理 PyTorch
模型训练的通用性
模型训练的通用性指模型在不同任务、领域或数据集上的适应能力。通过预训练模型、迁移学习、多任务学习、任务无关特征提取、灵活的模型架构、正则化、数据增强、超参数调优等方法,可以提升模型的通用性和泛化能力,使其在新任务上表现更佳。
257 1
|
人工智能 安全 大数据
开源软件全景解析:驱动技术创新与行业革新的力量
开源软件全景解析:驱动技术创新与行业革新的力量
1059 0
开源软件全景解析:驱动技术创新与行业革新的力量
|
虚拟化 数据安全/隐私保护 网络安全