Python 员工信息管理系统
程序员文章站
2022-05-04 10:24:09
学Python将近一个月了,第一次写了两百多行代码,一个很简单的脚本。 员工信息管理系统: 需求: 1.管理员账户能够增加,删除,修改,查询员工信息,并且设置管理员账户。 2.普通账户可以查看所有员工信息,但不能增加,修改,删除员工信息。 3.可以针对员工信息类型进行模糊查询,并能记录搜索出多少条结 ......
学Python将近一个月了,第一次写了两百多行代码,一个很简单的脚本。
员工信息管理系统:
需求:
1.管理员账户能够增加,删除,修改,查询员工信息,并且设置管理员账户。
2.普通账户可以查看所有员工信息,但不能增加,修改,删除员工信息。
3.可以针对员工信息类型进行模糊查询,并能记录搜索出多少条结果。
4.三次密码输入错误退出程序。
5.员工工号自增。
思路:
时间太晚了,明天再写。
具体实现代码
1 #coding=utf-8 2 #__author:Administrator 3 #__time:2018/5/21 12:43 4 #__file_name:staff_list 5 6 import io 7 import time 8 import os 9 10 FileRead = io.open('Staff_list','r',encoding='utf8') 11 Staff_list = eval(FileRead.read()) 12 username = 0 13 14 ''' 15 员工信息管理系统 16 需求: 17 1.增 18 2.删 19 3.改 20 4.查 21 5.管理员登陆 22 6.模糊搜索 23 ''' 24 25 string = ''' 26 工号:%s 27 姓名:%s 28 年龄:%s 29 部门:%s 30 地址:%s 31 电话:%s 32 Q Q:%s 33 微信:%s 34 入职时间:%s 35 ''' 36 37 Project = ['姓名','年龄','部门','地址','电话','qq','微信','入职时间'] 38 39 def login():#登陆模块 40 global username 41 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 in Staff_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_num 116 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_num 132 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'%temp 144 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_num 156 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 in Staff_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 while True : 174 project = raw_input('请输入你要修改的项目(姓名/年龄/部门/地址/电话/qq/微信/入职时间)\n') 175 if project in Staff_list[staff_num] and project in Project : 176 content = raw_input('请输入你要修改的内容:\n') 177 Staff_list[staff_num][project] = content 178 print '已为您修改完毕,正在为您返回主菜单' 179 Staff_list_UpDate() 180 else : 181 print '你输入的项目不正确,请重新输入' 182 183 def Permissions(): 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 in Staff_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 号员工已离职'%i 218 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 = 0 234 while True: 235 key = raw_input('请输入你要查找的关键字\n') 236 if project in Project: 237 for i in range(1, Staff_list['num']): 238 if Staff_list[i] == {}: 239 pass 240 elif key in Staff_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 def Staff_list_UpDate(): 260 global FileRead 261 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
初始密码:123456
1 {0: {'\xe5\xaf\x86\xe7\xa0\x81': '123456', '\xe6\x9d\x83\xe9\x99\x90': 1, '\xe5\xa7\x93\xe5\x90\x8d': 'admin'}}
上一篇: 幽默故事别来得瑟
下一篇: 课时75.并集选择器(掌握)