一、分析
(一)大纲
1、首先创建一个空列表,用来存储员工信息,即employee = []。
2、管理系统主要通过while True语句来进行无限循环,如果while条件判断语句永远为True,则循环将会无限执行。在循环中可通过continue语句和break语句来分别跳出本次循环和整个循环。
3、设定六个数字1-6依次对应对该系统的不同操作,这里使用一个if-else语句,若输入的数字不在1-6中,则会break结束循环,否则进行相应的操作。
(二)添加员工
在添加员工功能中,通过输入要添加员工的数量从而更简便的来添加一批次的员工,主要是通过for循环和range()函数,根据输入的员工数量来确定for循环中代码块执行的次数,即for p in range(e_number)。新添加的员工被赋予一个new_employee变量,通过append()方法,即employee.append(new_employee),用于在向空列表employee中添加新的元素(注意这里使用的是append()方法,所以新添加的元素是从末尾添加的)。
(三)删除员工
在删除员工功能中,要删除的员工被赋予一个del_employee变量,通过remove()方法,即employee.remove(del_employee)来删除该员工,将其从列表中删除(注意这里使用的是remove()方法,若列表中有多个相匹配的要删除的元素,则只会删除匹配到的第一个元素)。
(四)查找员工
在查找员工功能中,要查找的员工被赋予一个search_employee变量,设置一个if-else语句,若列表中不存在该员工,则进行一个if-else语句,通过用户输入Y/N,来确认是否添加该未查找到的员工,若不需要添加,则通过continue跳出本次循环。这里的添加员工就不用像前面一样,只需通过append()方法,变量为要查询的员工search_employee即可。
(五)修改员工
首先通过定义修改前员工和修改后员工,通过input()输入。这里就相当于修改列表employee,通过重新对列表元素赋值。
二、实现代码
print("------员工管理系统------") print("1、添加员工信息") print("2、删除员工信息") print("3、查找员工信息") print("4、修改员工信息") print("5、输出员工信息表") print("6、退出系统") print("------员工管理系统------") employee = [] while True: number = int(input("请输入相应的数字进行相应的操作:")) if number <= 0 or number > 6: print("输入错误!") break else: if number == 1: e_number = int(input("请通过要添加员工的数量:")) for p in range(e_number): new_employee = input("请输入要添加的员工:") employee.append(new_employee) print(f"添加成功!已添加{e_number}个员工!") elif number == 2: del_employee = input("请输入要删除的员工:") employee.remove(del_employee) print(f"员工{del_employee}删除成功!") elif number == 3: search_employee = input("请输入要查找的员工:") if search_employee in employee: print("已查找到该员工!") else: print("该员工不存在!是否添加该新员工?") affirm = input("请输入Y/N来确认:") if affirm == "Y": employee.append(search_employee) print(f"添加成功!已添加{search_employee}员工!") else: continue elif number == 4: mod_employee = input("请输入要修改的员工:") index = employee.index(mod_employee) moded_employee = input("请输入修改后的员工:") employee[index] = moded_employee print(f"原员工已被修改,修改后的员工为{moded_employee}") elif number == 5: for i in employee: print(i) elif number == 6: break
三、测试
运行程序:
若输入的数字不是1-6,则会退出程序:
测试添加功能,输入5个员工信息,由于定义的while语句是死循环所以程序会一直运行,直到break语句退出:
测试删除功能,删除指定员工信息:
测试查找功能,查找指定员工信息:
若要查找的员工不在,可另外添加至系统中,也可选择不添加,则会跳出本次循环。
测试修改功能,修改指定员工信息:
测试输出信息,输出所有员工的信息:
退出程序: