EMS项目练习_添加员工
摘要:本文为 Python 语言基础中 EMS 的项目练习
1.搭建 EMS 的员工管理系统的基本框架操作
2.搭建 EMS 的员工信息查询操作
1.1 搭建 EMS 的员工管理系统的基本框架操作
本节课来做练习,EMS(Employee Managen System员工管理系统)练习,做一个通过命令行版本的员工管理系统,我(老师)的桌面有我做的一个员工管理系统,如下图:
从图来看要实现四个功能分别是:1.查询、2.添加、3.删除、4.退出。
如上图,通过员工管理系统输入序号后查询操作显示了孙悟空的信息,
如上图,通过员工管理系统输入序号后逐条增加了猪八戒的信息并进行了查询,发现已经输入成功。那接下来介绍一下四个功能的形式,
1.查询是显示当前系统当中的所有员工
2.添加是将员工添加到当前系统的
3.删除是将员工从系统当中删除
4.退出是退出系统
在做之前要思考员工信息要保存到哪里? 答案是列表,所以在系统中应该有一个列表,专门用来保存所有员工信息的。首先要显示一个欢迎界面,查询员工就是遍历列表打印出来,添加就增加一个员工信息,删除员工就是删除员工信息。注意:当做完尽量通过命令行来测试。
接下来创建一个新的文件名称为:07.EMS练习.py。
从上图来说,需要显示系统的欢迎信息:欢迎使用员工管理系统,
示例如下:
#显示系统的欢迎信息 print(‘-’*20, ‘欢迎使用员工管理系统’,’_’*20)
接下来要要显示用户的选项,分别是:‘查询员工’、‘添加员工’、‘删除员工',‘退出系统’这四个选项,示例如下:
#显示系统的欢迎信息 print(‘-’*20, ‘欢迎使用员工管理系统’,’_’*20) #显示用户的选项 print('请选择要做的操作:') print('\t1.查询员工') print('\t2.添加员工') print('\t3.删除员工') print('\t4.退出系统')
接下来增加让用户选择的步骤,示例如下:
#显示系统的欢迎信息 print(‘-’*20, ‘欢迎使用员工管理系统’,’_’*20) #显示用户的选项 print('请选择要做的操作:') print('\t1.查询员工') print('\t2.添加员工') print('\t3.删除员工') print('\t4.退出系统') user_choose = input('请选择[1-4]:')
从上图来说用户已经输入选择内容了,接下来根据用户的选择做相关的操作,结合上图来给了用户1-4这四个选项,但用户可能输入一下其他内容,所以需要设置5种情况,分别是输入1进入查询员工的操作,输入2进入添加员工的操作,输入3删除员工的操作,输入4退出系统并返回:“欢迎使用!再见!点击回车键退出!”,输入其他内容返回给用户:“您的输入有误,请重新选择!”的信息,同时为了保持系统的循环还需写一个循环while死循环,示例如下:
#显示系统的欢迎信息 print(‘-’*20, ‘欢迎使用员工管理系统’, ’_’*20) #创建一个死循环 while True: #显示用户的选项 print('请选择要做的操作:') print('\t1.查询员工') print('\t2.添加员工') print('\t3.删除员工') print('\t4.退出系统') user_choose = input('请选择[1-4]:') #根据用户的选择做相关的操作 if user _choose == '1' pass elif user _choose =='2': pass elif user _choose =='3' pass elif user choose =='4 # 退出 input('欢迎使用!再见!点击回车键退出!') break else : print('您的输入有误,请重新选择!')
从示例中来看已经执行循环并且可以输入内容进行返回,但距离比较近,所以要增加分割线,在退出程序的操作中也设置分割线并重写写返回内容,示例如下:
#显示系统的欢迎信息 print(‘-’*20, ‘欢迎使用员工管理系统’, ’_’*20) #创建一个死循环 while True: #显示用户的选项 print('请选择要做的操作:') print('\t1.查询员工') print('\t2.添加员工') print('\t3.删除员工') print('\t4.退出系统') user_choose = input('请选择[1-4]:') #根据用户的选择做相关的操作 if user _choose == '1' pass elif user _choose =='2': pass elif user _choose =='3' pass elif user choose =='4 # 退出 print('_'*62) print(‘欢迎使用!再见!’) input('点击回车键退出!') break else : print('您的输入有误,请重新选择!') #打印分割线 print('_'*62)
从示例来看像在上边在打印一条分割线效果会更好,示例如下:
#显示系统的欢迎信息 print(‘-’*20, ‘欢迎使用员工管理系统’, ’_’*20) #创建一个死循环 while True: #显示用户的选项 print('请选择要做的操作:') print('\t1.查询员工') print('\t2.添加员工') print('\t3.删除员工') print('\t4.退出系统') user_choose = input('请选择[1-4]:') print('_'*62) #根据用户的选择做相关的操作 if user _choose == '1' pass elif user _choose =='2': pass elif user _choose =='3' pass elif user choose =='4 # 退出 print(‘欢迎使用!再见!’) input('点击回车键退出!') break else : print('您的输入有误,请重新选择!') #打印分割线 print('_'*62)
如上图示例更改的效果呈现会更好一些。以上代码已经把结构搭建完成了。接下来先实现查询员工的操作。
1.2 搭建 EMS 的员工信息查询操作
结合之前写的员工管理系统可以看出查询员工显示了员工的所有信息,分别有序号、姓名、年龄、性别、住址这五类信息,接下来示例如下:
#显示系统的欢迎信息 print(‘-’*20, ‘欢迎使用员工管理系统’, ’_’*20) #创建一个死循环 while True: #显示用户的选项 print('请选择要做的操作:') print('\t1.查询员工') print('\t2.添加员工') print('\t3.删除员工') print('\t4.退出系统') user_choose = input('请选择[1-4]:') print('_'*62) #根据用户的选择做相关的操作 if user _choose == '1' #查询员工 #打印表头 print('\t序号\t姓名\t年龄\t性别\t住址') pass elif user _choose =='2': # 添加员工 pass elif user _choose =='3' # 删除员工 pass elif user choose =='4 # 退出 print(‘欢迎使用!再见!’) input('点击回车键退出!') break else : print('您的输入有误,请重新选择!') #打印分割线 print('_'*62)
从示例来看表头显示出来了,接下来显示员工信息,接下来需要一个列表储存员工信息,由于while循环如果把列表放到循环里,每循环一次创建一个列表,所以把列表放到循环外并在查询处显示员工信息,示例如下:
#显示系统的欢迎信息 print(‘-’*20, ‘欢迎使用员工管理系统’, ’_’*20) #创建一个列表,用来保存员工的信息 emps =[] #创建一个死循环 while True: #显示用户的选项 print('请选择要做的操作:') print('\t1.查询员工') print('\t2.添加员工') print('\t3.删除员工') print('\t4.退出系统') user_choose = input('请选择[1-4]:') print('_'*62) #根据用户的选择做相关的操作 if user _choose == '1' #查询员工 #打印表头 print('\t序号\t姓名\t年龄\t性别\t住址') # 显示员工信息 for emp in emps print(emp) pass elif user _choose =='2': # 添加员工 pass elif user _choose =='3' # 删除员工 pass elif user choose =='4 # 退出 print(‘欢迎使用!再见!’) input('点击回车键退出!') break else : print('您的输入有误,请重新选择!') #打印分割线 print('_'*62)
从示例来看列表中没有信息,所以在执行是也没有信息。所以要在emps列表添加员工信息,那员工信息以字符串的形式统一保存到列表中,为了对齐和表头的间隔一样。示例如下:
#显示系统的欢迎信息 print(‘-’*20, ‘欢迎使用员工管理系统’, ’_’*20) #创建一个列表,用来保存员工的信息 emps =[‘\t1\t孙悟空\t18\t男\t花果山’] #创建一个死循环 while True: #显示用户的选项 print('请选择要做的操作:') print('\t1.查询员工') print('\t2.添加员工') print('\t3.删除员工') print('\t4.退出系统') user_choose = input('请选择[1-4]:') print('_'*62) #根据用户的选择做相关的操作 if user _choose == '1' #查询员工 #打印表头 print('\t序号\t姓名\t年龄\t性别\t住址') # 显示员工信息 for emp in emps print(emp) pass elif user _choose =='2': # 添加员工 pass elif user _choose =='3' # 删除员工 pass elif user choose =='4 # 退出 print(‘欢迎使用!再见!’) input('点击回车键退出!') break else : print('您的输入有误,请重新选择!') #打印分割线 print('_'*62)
从示例来看已经显示信息,所以之后在添加信息也是同样的格式,但序号存在问题,因为把序号写死了,如果列表分别存在1、2、3、4、5这五个信息但我把3号删了,你会发现再查询时没有了序号3。就没有三号了,所以在这个位置不能写序号,那需要在遍历中动态生成,
接下来在查询员工的代码里创建一个变量,来表示员工的序号,示例如下:
#显示系统的欢迎信息 print(‘-’*20, ‘欢迎使用员工管理系统’, ’_’*20) #创建一个列表,用来保存员工的信息 emps =[‘孙悟空\t18\t男\t花果山’] #创建一个死循环 while True: #显示用户的选项 print('请选择要做的操作:') print('\t1.查询员工') print('\t2.添加员工') print('\t3.删除员工') print('\t4.退出系统') user_choose = input('请选择[1-4]:') print('_'*62) #根据用户的选择做相关的操作 if user _choose == '1' #查询员工 #打印表头 print('\t序号\t姓名\t年龄\t性别\t住址') # 创建一个变量,来表示员工的序号 n = 1 # 显示员工信息 for emp in emps : print(f'\t{n}\t{emp}') n += 1pass elif user _choose =='2': # 添加员工 pass elif user _choose =='3' # 删除员工 pass elif user choose =='4 # 退出 print(‘欢迎使用!再见!’) input('点击回车键退出!') break else : print('您的输入有误,请重新选择!') #打印分割线 print('_'*62)
从示例来看这个序号是动态生成的,而不是写死的,接下来在添加一个猪八戒来看看效果,示例如下:
#显示系统的欢迎信息 print(‘-’*20, ‘欢迎使用员工管理系统’, ’_’*20) #创建一个列表,用来保存员工的信息 emps =[‘孙悟空\t18\t男\t花果山’,'猪八戒\t28\t男\t高老庄’] #创建一个死循环 while True: #显示用户的选项 print('请选择要做的操作:') print('\t1.查询员工') print('\t2.添加员工') print('\t3.删除员工') print('\t4.退出系统') user_choose = input('请选择[1-4]:') print('_'*62) #根据用户的选择做相关的操作 if user _choose == '1' #查询员工 #打印表头 print('\t序号\t姓名\t年龄\t性别\t住址') # 创建一个变量,来表示员工的序号 n = 1 # 显示员工信息 for emp in emps : print(f'\t{n}\t{emp}') n += 1pass elif user _choose =='2': # 添加员工 pass elif user _choose =='3' # 删除员工 pass elif user choose =='4 # 退出 print(‘欢迎使用!再见!’) input('点击回车键退出!') break else : print('您的输入有误,请重新选择!') #打印分割线 print('_'*62)
从示例来看猪八戒的序号就是动态生成的,本课时8就先讲到查询员工,同学可以跟着自己操作一下,同时自己试试添加员工和删除员工的操作,然后下节课时讲。