【作业】工资管理系统

 1 #工资查询
 2 def info_search(usr_name):
 3     salary = -10000
 4     with open('info.txt','r') as f:
 5         for line in f:
 6             if usr_name==line.split()[0]:
 7                 salary=float(line.split()[1])
 8                 break
 9     return salary
10 def info_change(usr_name,salary):
11     salary_num=float(salary)
12     with open('info.txt', 'r') as f:
13         data=f.readlines()
14     with open('info.txt','w') as f:
15         if salary_num>0:
16             f_pos=0
17             for line in data:
18                 if usr_name in line:
19                     line=' '.join([usr_name,salary])+'
'
20                 f.write(line)
21             return True
22         else:
23             return False
24 def info_add(usr_name,salary):
25     if info_search(usr_name)<0:
26         with open('info.txt', 'a') as f:
27             line='
'+' '.join([usr_name,salary])
28             f.write(line)
29         return True
30     else:
31         return False
32 def Salary_Manager():
33     help_info='''
34     1. 查询员工工资
35     2. 修改员工工资
36     3. 增加新员工记录
37     4. 退出'''
38     while True:
39         print(help_info)
40         #输入有效性检查
41         try:
42             usr_select = int(input("请选择(Please select):"))
43         except ValueError:
44             print('请输入1~4之间的整数。(Please input an integer between 1 and 4.)')
45             continue
46         if usr_select not in [1,2,3,4]:
47             print('请输入1~4之间的整数。(Please input an integer between 1 and 4.)')
48             continue
49         #查询工资
50         if usr_select==1:
51             usr_name=input("请输入要查询的员工姓名(例如:Alex)")
52             usr_salary=info_search(usr_name)
53             if usr_salary>0:
54                 print("%s的工资是%s"%(usr_name,usr_salary))
55             else:
56                 print('没有找到该员工,请检查。')
57         #修改工资
58         elif usr_select==2:
59             usr_salary=-10000
60             items=input('请输入要修改的员工姓名和工资,用空格分隔(例如:Alex 10):')
61             #有效性检查及工资修改
62             if len(items.split())==2:
63                 usr_name=items.split()[0]
64                 usr_salary=items.split()[1]
65                 if usr_salary.isnumeric() and float(usr_salary)>0:
66                     if info_change(usr_name, usr_salary):
67                         print('修改成功。')
68                     else:
69                         print('输入格式有误或不存该员工。')
70                 else:
71                     print('工资输入有误,请检查。')
72             else:
73                 print('输入格式有误。')
74 
75         #增加员工记录
76         elif usr_select==3:
77             items=input('请输入要增加的员工姓名和工资,用空格分割(例如:Eric 100000):')
78             #有效性检查及人员增加
79             if len(items.split())==2:
80                 usr_name=items.split()[0]
81                 usr_salary=items.split()[1]
82                 if usr_salary.isnumeric():
83                     if info_add(usr_name, usr_salary):
84                         print('增加成功!')
85                     else:
86                         print('输入格式有误或员工已存在。')
87                 else:
88                     print('工资输入有误,请检查。')
89             else:
90                 print('输入格式有误。')
91             pass
92         #退出
93         else:
94             print("再见。Bye.")
95             exit()
96 Salary_Manager()

 

原文地址:https://www.cnblogs.com/Franklin-Kite/p/7487147.html