Python学习-第三周作业-工资管理系统
实现效果:
从info.txt文件中读取员工及其工资信息,最后将修改或增加的员工工资信息也写入原info.txt文件。
效果演示:
1. 查询员工工资
2. 修改员工工资
3. 增加新员工记录
4. 退出
>>:1
请输入要查询的员工姓名(例如:Alex):Alex
Alex的工资是:100000。
1. 查询员工工资
2. 修改员工工资
3. 增加新员工记录
4. 退出
>>:2
请输入要修改的员工姓名和工资,用空格分隔(例如:Alex 10):Alex 10
修改成功!
1. 查询员工工资
2. 修改员工工资
3. 增加新员工记录
4. 退出
>>:3
请输入要增加的员工姓名和工资,共空格分割(例如:Eric 100000):Eric 100000
增加成功!
1. 查询员工工资
2. 修改员工工资
3. 增加新员工记录
4. 退出
>>:4
再见!
思路流程:
#!/usr/bin/env python # -*- coding:utf-8 -*- # Author: Tangj add_list=[]
modify_list=[]
while True: choice=input(" 1.查询员工工资 \n 2.修改员工工资 \n 3.增加新员工记录 \n 4.退出 \n 请选择>>") if choice=='1': with open("info.txt", 'r+', encoding="utf-8") as f: name_salary = f.readlines() account = input('请输入要查询的员工姓名(例如:Alex):') for i in name_salary: (name,salary)=i.strip('\n').split() if account==name or account in add_list: print('%s的工资是%s'%(name,salary)) break else: print('用户不存在') elif choice=='2': with open("info.txt", 'r+', encoding="utf-8") as f: f_ch= f.readlines() old_name=input('输入要修改的员工名字:') for i in f_ch: (name,salary) = i.strip('\n').split() if old_name==name: modify_name,modify_salary=input('请输入要修改的员工姓名和工资,用空格分隔(例如:Alex 10):').strip('\n').split() modify_list.append([modify_name,modify_salary])#为了解决文件打开的时候不能更新信息的问题,在内存里加个表格 print(modify_list) with open("info.txt", 'w', encoding="utf-8") as f1: for item in f_ch: item=item.replace(salary,modify_salary) f1.write(item) print('修改成功') break else: print('用户不存在') elif choice=='3': f=open('info.txt','r+',encoding='utf-8') f_add=f.readlines() add_name=input('输入要添加的用户名称:') for i in f_add: (name,salary) = i.strip('\n').split() if add_name==name or add_name in add_list: print('不能添加已经存在的用户') break else: append_name=input('请输入要增加的员工姓名和工资,使用空格分割(例如:Eric 100000):Eric 100000:').strip('\n') add_list.append(append_name) f.write(append_name) f.write('\n') f.flush() f.close() print('添加成功') print(add_list) pass elif choice=='4': print('程序已退出') exit() else: print('无效选项')
优质内容筛选与推荐>>