Third week-homework(员工管理系统)


 需求:

  • 可以查询员工所有信息
  • 可以修改员工信息
  • 可以增加新员工

code:

  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())
View Code

 

 


 

posted @ 2017-11-03 17:15  qwerdf六连  阅读(196)  评论(0编辑  收藏  举报