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

 

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

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

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

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

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

 

相关文章
|
SQL 数据挖掘 数据库
HiveSQL分位数函数percentile()使用详解+实例代码
HiveSQL分位数函数percentile()使用详解+实例代码
6419 0
HiveSQL分位数函数percentile()使用详解+实例代码
|
8月前
|
机器学习/深度学习 人工智能 自然语言处理
人工智能应用领域有哪些
本文全面探讨了人工智能(AI)的应用领域和技术核心,涵盖医疗、交通、金融、教育、制造、零售等多个行业,并分析了AI技术的局限性及规避策略。同时,介绍了生成式人工智能认证项目的意义与展望。尽管AI发展面临数据依赖和算法可解释性等问题,但通过优化策略和经验验证,可推动其健康发展。未来,AI将在更多领域发挥重要作用,助力社会进步。
|
消息中间件 存储 运维
云消息队列 Kafka 版全面升级:经济、弹性、稳定,成本比自建最多降低 82%
本文介绍了阿里云云消息队列 Kafka 版的全面升级,强调了其在经济性、稳定性和弹性方面的显著提升。同时,与 Apache Kafka 相比,云消息队列 Kafka 版通过节省 66% 的资源,实现了客户使用成本比自建最多降低 82%。
625 101
|
存储 固态存储 关系型数据库
【mysql进阶-彩蛋篇】深入理解顺序io和随机io(全网最详细篇)
【mysql进阶-彩蛋篇】深入理解顺序io和随机io(全网最详细篇)
1159 0
|
11月前
|
Prometheus 监控 Cloud Native
高频面题: 你们线上 QPS 多少?你 怎么知道的?
本文由45岁资深架构师尼恩撰写,针对高级开发和架构师面试中的高频问题提供详细解答。文章涵盖了QPS、TPS、RT等性能指标的定义及计算方法,详解了如何配置Prometheus与Grafana监控系统QPS,并提供了应对高并发场景(如双十一抢购)的系统部署策略。此外,还分享了多个大厂面试真题及解决方案,帮助读者在面试中充分展示技术实力,提升求职竞争力。建议收藏并深入学习,为面试做好充分准备。更多内容可参考《尼恩Java面试宝典》及相关技术圣经系列PDF。
|
机器学习/深度学习 人工智能 算法
鸟类识别系统Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+ResNet50算法模型+图像识别
鸟类识别系统。本系统采用Python作为主要开发语言,通过使用加利福利亚大学开源的200种鸟类图像作为数据集。使用TensorFlow搭建ResNet50卷积神经网络算法模型,然后进行模型的迭代训练,得到一个识别精度较高的模型,然后在保存为本地的H5格式文件。在使用Django开发Web网页端操作界面,实现用户上传一张鸟类图像,识别其名称。
568 12
鸟类识别系统Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+ResNet50算法模型+图像识别
|
监控 编译器 C语言
【C语言】inline 关键字详解
`inline` 关键字是C语言中的一个有用工具,通过消除函数调用的开销来提高执行效率。然而,它并不是万能的,应该根据具体情况慎重使用,以避免代码膨胀和其他潜在问题。
551 1
|
机器学习/深度学习 人工智能 自然语言处理
💡思维碰撞新纪元:AI如何激发职场创新灵感,让创意无限飞?
【8月更文挑战第1天】在科技飞速发展的当下,人工智能(AI)正深刻变革职场创新模式。本文对比传统与AI赋能的创新思维,展现AI如何突破界限,激发无限创意。从数据驱动的洞察到跨领域融合,再到自动化提升效率,AI让创新变得更加科学与系统。通过概念性示例,展示AI辅助下的创意生成过程,呈现AI助力下职场人士探索未来的无限可能。
376 0
|
虚拟化 数据安全/隐私保护 网络安全
|
前端开发 Java 测试技术
SpringBoot - 应用程序测试方案
SpringBoot - 应用程序测试方案
456 0