Third week-homework(员工管理系统)
需求:
- 可以查询员工所有信息
- 可以修改员工信息
- 可以增加新员工
code:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 import sys,json 2 # yuangong = { 3 # "1": ["faker", "22", "11111111111", "mid", "2013-01-01"], 4 # "2": ["huni", "23", "22222222222", "top", "2014-01-01"], 5 # "3": ["bang", "24", "33333333333", "adc", "2015-01-01"], 6 # "4": ["wolf", "25", "44444444444", "sup", "2016-01-01"], 7 # "5": ["blank", "26", "55555555555", "jun", "2017-01-01"]} 8 # with open('E:/Staff management.txt','w')as w_f: 9 # json.dump(yuangong,w_f) 10 11 salary = {} 12 13 with open('E:/Staff management.txt', 'r') as read_f: 14 f_line = json.load(read_f) 15 #read_f.write(json.dump(salary)) 16 salary = f_line 17 #print(salary) 18 19 def append_file(): 20 with open('E:/Staff management.txt', 'r+') as append_f: 21 json.dump(append_f,salary) 22 return 23 24 def write_file(): 25 with open('E:/Staff management.txt', 'w') as write_f: 26 json.dump(salary,write_f) 27 return 28 29 def server(): 30 for i in range(1): 31 print("1.查询员工信息\n2.修改员工信息\n3.增加新员工信息\n4.删除员工\n5.退出") 32 return 33 34 def server_choice(a): 35 while True: 36 choice = input("Please input your choice:") 37 if choice == '1': 38 query() 39 elif choice == '2': 40 modify() 41 elif choice == '3': 42 increase() 43 elif choice == '4': 44 delete() 45 elif choice == '5': 46 sys.exit("程序已退出,欢迎重新运行") 47 else: 48 print("你输入的不存在,请重新输入") 49 50 def query(): 51 position = input("请输入输入员工编号或按b退回上一层:") 52 if f_line.get(position): 53 #print(f_line[position]) 54 print("员工信息:\n名字:%s\n年龄:%s\n电话号码:%s\n职位:%s\n入职时间:%s" % (f_line[position][0],f_line[position][1],f_line[position][2],f_line[position][3],f_line[position][4])) 55 query() 56 elif position.lower() == 'b': 57 server() 58 else: 59 print('你输入的编号不存在') 60 query() 61 62 def modify(): 63 position = input("Please 要修改的员工编号或者按b退到上一层:") 64 if f_line.get(position): 65 correct = input(" 1.name:%s\n 2.age:%s\n 3.phone number:%s\n 4.position:%s\n 5.Entry time:%s\n请输入你要修改的信息:" % (f_line[position][0],f_line[position][1],f_line[position][2],f_line[position][3],f_line[position][4])) 66 if correct == '1': 67 name = input("请输入你要修改的名字:") 68 salary[position][0] = name 69 write_file() 70 modify() 71 elif correct == '2': 72 age = input("请输入你要修改的年龄:") 73 if age.isdigit(): 74 salary[position][1] = age 75 write_file() 76 modify() 77 else: 78 print("你输入的不是数字,请重新输入") 79 modify() 80 elif correct == '3': 81 phone = input("请输入你要修改的电话号码:") 82 salary[position][2] = phone 83 write_file() 84 modify() 85 elif correct == '4': 86 post = input("请输入你要修改的职位:") 87 salary[position][3] = post 88 write_file() 89 modify() 90 elif correct == '5': 91 Entry = input("请输入你要修改的入职时间:") 92 salary[position][4] = Entry 93 write_file() 94 modify() 95 else: 96 print("Input error,Please re-enter") 97 modify() 98 elif position.lower() == 'b': 99 server() 100 else: 101 print("你输入的员工编号不存在,请重新输入") 102 modify() 103 104 def increase(): 105 post = [] 106 position = input("请输入你要添加的员工编号或者按b返回:") 107 if salary.get(position): 108 print("你输入的编号已存在,请重新输入") 109 increase() 110 elif position.isdigit(): 111 name = input("请输入员工姓名:") 112 age = input("请输入员工年龄:") 113 phone = input("请输入员工电话号码:") 114 positioN = input("请输入员工职务:") 115 Entry = input("请输入员工入职时间:") 116 post.append(name) 117 post.append(age) 118 post.append(phone) 119 post.append(positioN) 120 post.append(Entry) 121 salary[position] = post 122 write_file() 123 server() 124 elif position == 'b': 125 server() 126 else: 127 print("你输入的编号格式不正确(必须为数字),请重新输入:") 128 increase() 129 130 def delete(): 131 position = input("请输入你要删除的员工编号或者输入b退到上一层:") 132 if salary.get(position): 133 salary.pop(position) 134 write_file() 135 print("成功删除") 136 delete() 137 elif position == 'b': 138 server() 139 else: 140 print("你输入的编号不存在,请重新输入") 141 delete() 142 143 server_choice(server())