EMS项目练习_删除员工
摘要:
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]:')
执行结果
代码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(‘操作已取消!’)
执行代码结果:
03.功能测试与总结
完成上述代码编写后,需要进行功能测试,以确保删除员工功能的正确性。测试过程包括:
输入合法的序号进行删除操作,检查员工是否被正确删除,以及删除后员工序号是否自动调整。
输入不合法的序号,检查是否提示输入有误。
输入确认删除指令和不确认删除指令,检查程序是否按照预期执行相应的操作。
此删除员工的功能练习是对列表的综合应用,涉及到数据的存储、删除和获取等基本操作。在实际应用中,可能会存在一些小问题,需要在后续学习中进一步纠正和优化。但通过多次练习,能够加深对列表操作的理解和掌握,提高编程能力。