定义一个员工结构(包含员工号、姓名、性别),输入4个员工的数据,将这些员工数据保存到文件employer.dat中,最后按照员工号从大到小排序在屏幕上输出。
时间: 2024-03-15 12:47:45 浏览: 130
好的,我可以帮你写出符合要求的程序。你可以参考下面的代码:
```python
import pickle
# 定义员工结构
class Employee:
def __init__(self, empno, name, gender):
self.empno = empno
self.name = name
self.gender = gender
# 输入4个员工的数据
employees = []
for i in range(4):
empno = int(input("请输入员工号:"))
name = input("请输入姓名:")
gender = input("请输入性别:")
emp = Employee(empno, name, gender)
employees.append(emp)
# 将这些员工数据保存到文件employer.dat中
with open("employer.dat", "wb") as f:
for emp in employees:
pickle.dump(emp, f)
# 从文件中读取员工数据并排序
employees = []
with open("employer.dat", "rb") as f:
while True:
try:
emp = pickle.load(f)
employees.append(emp)
except EOFError:
break
employees.sort(key=lambda x: x.empno, reverse=True)
# 按照员工号从大到小排序在屏幕上输出
for emp in employees:
print("员工号:%d,姓名:%s,性别:%s" % (emp.empno, emp.name, emp.gender))
```
在这个程序中,我们首先定义了一个 `Employee` 类,用于表示员工结构。接着,在主程序中,我们输入4个员工的数据,并将这些员工数据保存到文件 "employer.dat" 中。然后,我们从文件中读取员工数据,将它们按照员工号从大到小排序,并输出到屏幕上。注意,在读取文件时,我们使用了 `pickle` 模块来实现序列化和反序列化操作。