day 3 作业, 员工工资管理系统--信息保存到文件中
1 #定义函数,把info 读成字典,返回info 字典, 2 def open_r_info(): 3 with open("info.txt","r",encoding="utf-8") as f: 4 d=f.readlines() 5 #print(d) 6 for i in d: 7 if len(i.strip())>0: 8 #print(i.strip()) 9 j=i.strip().split() 10 #print(j) 11 info[j[0]]=j[1] 12 return info 13 #模块二:功能选择 14 info={} #定义空字典 15 while True: 16 print("工资管理系统".center(30, "*")) # 打印标题及功能选项 17 print("1. 查询员工工资\n2. 修改员工工资\n3. 增加新员工记录\n4. 退出") 18 user_choice = input("请输入你要操作的选项:") #获取用户输入的选项 19 if user_choice== "1": #查询功能 20 find_n=input("请输入要查询的员工姓名:") #获取用户输入用户名 21 if find_n.isalpha(): #判断是否是字母字符串,否则提示出错。 22 find_n=find_n.capitalize() #将名字首字母大写 23 open_r_info() #调用将文本读成字典的函数, 24 if find_n in info: #判断用户名是否在字典中,如果没有就提示错误,如果有就返回工资 25 print("\033[1;35;40m{}\033[0m的工资是:\033[1;35;40m{}\033[0m。".format(find_n,info[find_n])) 26 else: 27 print("***你查找的用户:\033[1;35;40m{}\033[0m不存在".format(find_n)) 28 else: 29 print("***请输入正确的员工姓名,纯字母组成") 30 elif user_choice =="2": #功能二修改工资模块 31 change_u_s=input("请输入要修改的员工姓名和工资,用空格分隔(例如:Alex 10):") 32 change_u_s=change_u_s.split()#将用户输入,用split 分割成list 33 if len(change_u_s) == 2:#判断用户是否 按照格式输入, 34 change_u_s[0]=change_u_s[0].capitalize() 35 open_r_info() #调用函数 36 if change_u_s[0].isalpha(): 37 if change_u_s[0] in info: 38 if change_u_s[1].isdigit(): 39 info[change_u_s[0].capitalize()]=change_u_s[1] 40 with open("info.txt", "w", encoding="utf-8") as f: 41 for i in info: #将修改后字典,按照之前的文本格式,覆盖原来的文本。 42 f.write("{} {}\n\n".format(i, info[i])) 43 print("修改成功!") 44 else: 45 print("***你输入的工资不是一个数字,请重新输入") 46 else: 47 print("***你修改工资的员工\033[1;35;40m{}\033[0m不存在".format(change_u_s[0])) 48 else: 49 print("***请输入正确的员工姓名,纯字母组成") 50 else: 51 print("***请输入正确的格式,例如:'alex 100'") 52 elif user_choice == "3":#功能三新增员工记录 53 insert_u_s = input("请输入要增加的员工姓名和工资,用空格分割(例如:Eric 100000):") 54 insert_u_s = insert_u_s.split() #判断用户输入信息。。。 55 open_r_info()#调用函数 56 if len(insert_u_s) == 2: 57 insert_u_s[0] = insert_u_s[0].capitalize() 58 if insert_u_s[0] not in info: 59 if insert_u_s[0].isalpha(): 60 insert_u_s[0]=insert_u_s[0].capitalize() 61 if insert_u_s[1].isdigit(): 62 with open("info.txt", "a", encoding="utf-8") as f: 63 f.write("\n\n{} {}".format(insert_u_s[0].capitalize(), insert_u_s[1])) 64 f.flush()#将用户新增记录写到文件末尾,并刷新将内存信息写到文本中,为了新增之后可以马上查询到记录。 65 print("增加成功!") 66 else: 67 print("***请输入正确的员工姓名,纯字母组成") 68 else: 69 print("***员工已存在,请返回,选择2.修改工资") 70 else: 71 print("***请输入正确的格式,例如:'alex 100'") 72 elif user_choice =="4":#退出 73 print("再见!") 74 break 75 else: 76 print("***你输入的的选项错误,请重新输入正确的选项。")
文本内容
Alex 100000
Egon 50000
Rain 80000
Yuan 30000

浙公网安备 33010602011771号