python人员管理系统_Python 员工信息管理系统

1 #coding=utf-8

2 #__author:Administrator

3 #__time:2018/5/21 12:43

4 #__file_name:staff_list

5

6 importio7 importtime8 importos9

10 FileRead = io.open('Staff_list','r',encoding='utf8')11 Staff_list =eval(FileRead.read())12 username =013

14 '''

15 员工信息管理系统16 需求:17 1.增18 2.删19 3.改20 4.查21 5.管理员登陆22 6.模糊搜索23 '''

24

25 string = '''

26 工号:%s27 姓名:%s28 年龄:%s29 部门:%s30 地址:%s31 电话:%s32 Q Q:%s33 微信:%s34 入职时间:%s35 '''

36

37 Project = ['姓名','年龄','部门','地址','电话','qq','微信','入职时间']38

39 def login():#登陆模块

40 globalusername41 print '='*43,'员工信息管理系统','='*43

42 num = 1

43 while num <= 3:44 username = int(raw_input('请输入你的工号:\n'))45 pwd = raw_input('请输入密码:\n')46 if username not inStaff_list:47 print '没有你的信息,请联系管理员添加或重新输入,还有 %d 次机会'%(3-num)48 num += 1

49 elif Staff_list[username]['权限'] == 1 and pwd == Staff_list[username]['密码']:50 print '欢迎 %s 进入员工信息管理系统'%Staff_list[username]['姓名']51 AdminMenuShow()52 elif Staff_list[username]['权限'] != 1 and pwd == Staff_list[username]['密码']:53 print '欢迎 %s 进入员工信息系统'%Staff_list[username]['姓名']54 StaffMenuShow()55 else:56 print '密码输入错误,还有 %d 次机会'%(3-num)57 num += 1

58 else:59 print '输入次数过多,已退出程序'

60 time.sleep(3)61 exit()62

63 def OptionJudge(chioce):#对用户输入进行判断

64 if chioce == 'A' or chioce == 'a': Increase()65 elif chioce == 'B' or chioce == 'b': Delete()66 elif chioce == 'C' or chioce == 'c': Amend()67 elif chioce == 'D' or chioce == 'd': Query()68 elif chioce == 'E' or chioce == 'e': AllStaff()69 elif chioce == 'F' or chioce == 'f': Search()70 elif chioce == 'G' or chioce == 'g': IncreaseAdmin()71 elif chioce == 'H' or chioce == 'h': exit()72 else:73 chioce = raw_input('你的输入有误 请重新输入:\n')74 OptionJudge(chioce)75

76 def AdminMenuShow():#管理员菜单展示

77 print '=' * 43, '员工信息管理系统', '=' * 43

78 print '【A】增加一个成员 【B】删除一个成员'

79 print '【C】修改一个成员 【D】查询一个成员'

80 print '【E】查看所有成员 【F】关键词搜索'

81 print '【G】增加一个管理员【H】退出系统'

82 print

83 chioce = raw_input('请输入你的选择:\n')84 OptionJudge(chioce)85

86 def StaffMenuShow():#普通用户菜单展示

87 print '=' * 43, '员工信息管理系统', '=' * 43

88 print '【E】查看所有成员 【D】查询一个成员'

89 print '【F】关键词搜索 【H】退出系统'

90 chioce = raw_input('请输入你的选择:\n')91 OptionJudge(chioce)92

93 def Increase():#增加一个用户

94 print '=' * 44, '增加新的员工', '=' * 44

95 staff_num = Staff_list['num']96 Staff_list[staff_num] ={}97 Staff_list[staff_num]['姓名'] = raw_input('请输入员工姓名\n')98 Staff_list[staff_num]['年龄'] = raw_input('请输入员工年龄\n')99 Staff_list[staff_num]['部门'] = raw_input('请输入员工部门\n')100 Staff_list[staff_num]['住址'] = raw_input('请输入员工地址\n')101 Staff_list[staff_num]['电话'] = raw_input('请输入员工电话号码\n')102 Staff_list[staff_num]['qq'] = raw_input('请输入员工QQ号码\n')103 Staff_list[staff_num]['微信'] = raw_input('请输入员工微信号码\n')104 Staff_list[staff_num]['入职时间'] = raw_input('请输入员工入职日期\n')105 Staff_list[staff_num]['密码'] = raw_input('请设置员工登陆密码\n')106 Staff_list[staff_num]['权限'] = raw_input('请设置员工权限\n')107 Staff_list['num'] = Staff_list['num'] + 1

108 print '%s已录入成功,工号为%d' % (Staff_list[staff_num]['姓名'],staff_num)109 Staff_list_UpDate()110

111 def IncreaseAdmin():#创建管理员账户

112 print '=' * 43, '正在增加管理员', '=' * 43

113 staff_num = int(raw_input('请输入员工工号\n'))114 if Staff_list[staff_num] =={}:115 print '工号为%d的员工已离职,请重新输入' %staff_num116 IncreaseAdmin()117 elif staff_num in Staff_list and Staff_list[staff_num] !={}:118 Flag = raw_input('确认是否将 %s 设置为管理员用户?Y/N' % Staff_list[staff_num]['姓名'])119 if Flag == 'Y':120 print '%s 已成功设置为管理员' % Staff_list[staff_num]['姓名']121 Staff_list[staff_num]['权限'] = 1

122 time.sleep(3)123 Staff_list_UpDate()124 elif Flag == 'N':125 print '正在返回主菜单'

126 AdminMenuShow()127 else:128 print '你的输入错误,正在为你返回主菜单'

129 AdminMenuShow()130 else:131 print '没有工号为%d的员工,请重新输入' %staff_num132 IncreaseAdmin()133

134 def Delete():#删除一个用户

135 print '=' * 46, '删除员工', '=' * 46

136 Staff_num = int(raw_input('请输入你要删除的员工工号\n'))137 if Staff_num in Staff_list and Staff_list[Staff_num] !={}:138 Flag = raw_input('确认是否删除 %s?Y/N' % Staff_list[Staff_num]['姓名'])139 if Flag == 'Y' or Flag == 'y':140 temp = Staff_list[Staff_num]['姓名']141 Staff_list[Staff_num] ={}142 time.sleep(3)143 print '已经为您删除 %s'%temp144 Staff_list_UpDate()145 elif Flag == 'N' or Flag == 'n':146 print '请重新输入'

147 Delete()148 else:149 print '你的输入错误,正在为你返回主菜单'

150 AdminMenuShow()151 elif Staff_num in Staff_list and Staff_list[Staff_num] =={}:152 print '%s已被删除,请重新输入'%Staff_list[Staff_num]['姓名']153 Delete()154 else:155 print '没有工号为%d的用户,请重新输入'%Staff_num156 Delete()157 print '操作完毕,正在返回主菜单'

158 AdminMenuShow()159

160 def Amend():#修改一个用户

161 print '=' * 44, '修改员工信息', '=' * 44

162 staff_num = int(raw_input('请输入你要修改的员工编号\n'))163 if staff_num not inStaff_list:164 print '你输入的员工编号不存在,请重新输入'

165 Amend()166 elif staff_num ==0 :167 print '你无权修改,请重新输入'

168 Amend()169 elif Staff_list[staff_num] =={}:170 print '你所要修改的员工已被删除,无法进行修改'

171 Amend()172 else:173 whileTrue :174 project = raw_input('请输入你要修改的项目(姓名/年龄/部门/地址/电话/qq/微信/入职时间)\n')175 if project in Staff_list[staff_num] and project inProject :176 content = raw_input('请输入你要修改的内容:\n')177 Staff_list[staff_num][project] =content178 print '已为您修改完毕,正在为您返回主菜单'

179 Staff_list_UpDate()180 else:181 print '你输入的项目不正确,请重新输入'

182

183 defPermissions():184 if Staff_list[username]['权限'] == 1:185 print '操作完毕,正在返回主菜单'

186 AdminMenuShow()187 else:188 print '操作完毕,正在返回主菜单'

189 StaffMenuShow()190

191 def Query():#查询一个用户

192 print '=' * 44, '员工信息查询', '=' * 44

193 staff_num = int(raw_input('请输入员工工号\n'))194 if Staff_list[staff_num] =={}:195 print '该员工已被删除,请重新搜索你要查询的员工'

196 Query()197 elif staff_num inStaff_list:198 print '=' * 43, 'Info of %s' % Staff_list[staff_num]['姓名'], '=' * 43

199 print string %(200 staff_num, Staff_list[staff_num]['姓名'], Staff_list[staff_num]['年龄'], Staff_list[staff_num]['部门'],201 Staff_list[staff_num]['住址'], Staff_list[staff_num]['电话'], Staff_list[staff_num]['qq'],202 Staff_list[staff_num]['微信'], Staff_list[staff_num]['入职时间'])203 else:204 print '没有工号为%d的员工,请重新输入'

205 Query()206 Flag = raw_input('员工%s 信息已查询完毕,是否返回主菜单?Y/N' % Staff_list[staff_num]['姓名'])207 if Flag == 'Y' or Flag == 'y':208 Permissions()209 else:210 print '重新查询一个用户'

211 Query()212

213 def AllStaff():#查看所有用户

214 for i in range(1, Staff_list['num']) :215 if Staff_list[i] =={}:216 print '=' * 45, '第%d 号员工'%i, '=' * 45

217 print '第%d 号员工已离职'%i218 else:219 print '=' * 44, '%s的信息' % Staff_list[i]['姓名'], '=' * 44,220 print string %(221 i, Staff_list[i]['姓名'], Staff_list[i]['年龄'], Staff_list[i]['部门'],222 Staff_list[i]['住址'], Staff_list[i]['电话'], Staff_list[i]['qq'],223 Staff_list[i]['微信'], Staff_list[i]['入职时间'])224 Flag = raw_input('用户信息已查询完毕,是否返回主菜单?Y/N')225 if Flag == 'Y' or Flag == 'y':226 Permissions()227 else:228 print '不允许操作'

229

230 def Search():#关键词搜索

231 print '=' * 44, '员工信息搜索', '=' * 44

232 project = raw_input('请输入你要查找的项目(姓名/年龄/部门/地址/电话/qq/微信/入职时间)\n')233 num =0234 whileTrue:235 key = raw_input('请输入你要查找的关键字\n')236 if project inProject:237 for i in range(1, Staff_list['num']):238 if Staff_list[i] =={}:239 pass

240 elif key inStaff_list[i][project]:241 print '=' * 44, '%s的信息' % Staff_list[i]['姓名'], '=' * 44,242 print string %(243 i, Staff_list[i]['姓名'], Staff_list[i]['年龄'], Staff_list[i]['部门'],244 Staff_list[i]['住址'], Staff_list[i]['电话'], Staff_list[i]['qq'],245 Staff_list[i]['微信'], Staff_list[i]['入职时间'])246 num += 1

247 if num ==0:248 print '没有搜索到结果,请重新搜索'

249 else:250 print '共搜索到 %d 名 %s 为 %s 的员工' %(num, project, key)251 Flag = raw_input('用户信息已查询完毕,任意键继续搜索,选择Y返回主菜单')252 if Flag == 'Y' or Flag == 'y':253 Permissions()254 else:255 Search()256 else:257 print '你要查找的项目不存在'

258

259 defStaff_list_UpDate():260 globalFileRead261 FileRead.close()262 with open('Staff_list_copy', 'w') as FileWrite :263 Write_Staff_list =str(Staff_list)264 FileWrite.write(Write_Staff_list)265 os.remove('Staff_list')266 os.renames('Staff_list_copy','Staff_list')267 FileRead = io.open('Staff_list', 'r', encoding='utf8')268 time.sleep(3)269 AdminMenuShow()270

271 login()

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值