Franklin-Kite
 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])+\'\n\'
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=\'\n\'+\' \'.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()

 

 

分类:

技术点:

相关文章: