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