1、在工资管理程序中,一个人的基本信息包括:姓名、工作单位、薪资等信息。设计一个薪资管理程序,可以实现薪资信息的增加、删除、修改和查询。要求:将薪资信息保存在文件中,并且,在启动程序时从文件中读入所有的薪资信息,在退出程序时,将薪资信息保存到文件中
时间: 2024-03-14 14:47:09 浏览: 12
好的,这是一个经典的文件处理问题,一般可以通过读写文件来实现。以下是一个简单的示例代码,可以实现上述要求:
```python
import json
# 定义文件名
FILE_NAME = 'salary.json'
# 定义员工信息
employees = []
# 读入文件,如果文件不存在则创建
try:
with open(FILE_NAME, 'r') as f:
employees = json.load(f)
except FileNotFoundError:
with open(FILE_NAME, 'w') as f:
json.dump(employees, f)
# 定义函数:增加员工信息
def add_employee():
name = input('请输入员工姓名:')
company = input('请输入员工工作单位:')
salary = input('请输入员工薪资:')
employee = {'name': name, 'company': company, 'salary': salary}
employees.append(employee)
print('员工信息已添加。')
# 定义函数:删除员工信息
def delete_employee():
name = input('请输入要删除的员工姓名:')
for employee in employees:
if employee['name'] == name:
employees.remove(employee)
print('员工信息已删除。')
return
print('未找到该员工信息。')
# 定义函数:修改员工信息
def modify_employee():
name = input('请输入要修改的员工姓名:')
for employee in employees:
if employee['name'] == name:
company = input('请输入员工工作单位(原单位:{}):'.format(employee['company']))
salary = input('请输入员工薪资(原薪资:{}):'.format(employee['salary']))
employee['company'] = company
employee['salary'] = salary
print('员工信息已修改。')
return
print('未找到该员工信息。')
# 定义函数:查询员工信息
def query_employee():
name = input('请输入要查询的员工姓名:')
for employee in employees:
if employee['name'] == name:
print('姓名:{}\n工作单位:{}\n薪资:{}'.format(employee['name'], employee['company'], employee['salary']))
return
print('未找到该员工信息。')
# 定义函数:保存员工信息到文件
def save_employees():
with open(FILE_NAME, 'w') as f:
json.dump(employees, f)
# 主程序
while True:
print('请选择要执行的操作:')
print('1. 增加员工信息')
print('2. 删除员工信息')
print('3. 修改员工信息')
print('4. 查询员工信息')
print('5. 退出程序')
choice = input()
if choice == '1':
add_employee()
elif choice == '2':
delete_employee()
elif choice == '3':
modify_employee()
elif choice == '4':
query_employee()
elif choice == '5':
save_employees()
break
else:
print('无效的操作,请重新选择。')
```
这个程序中使用了一个 JSON 文件来保存员工信息,JSON 是一种轻量级的数据交换格式,具有可读性,易于解析等优点。程序启动时会读入该文件中的员工信息,程序退出时会将修改后的员工信息保存回文件中。程序中的增加、删除、修改和查询函数都可以通过操作 `employees` 列表来实现。
相关推荐
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)