本练习假设您已经为编程练习4创建了Employee类。
创建一个程序,将雇员对象存储在字典中。使用员工ID号
作为关键。程序应提供一个菜单,允许用户执行以下操作:
•在字典中查找员工
•在字典中添加新员工
•更改字典中现有员工的姓名、部门和职务
•从字典中删除员工
•退出程序
当程序结束时,它应该pickle字典并将其保存到一个文件中。每次
程序启动时,它应该尝试从文件加载pickled字典。如果文件没有
exist,程序应该以空字典开头。
好吧,我的解决办法是:class Employee:
'ID, number, department, job title'
def __init__(self,ID,number,department,job_title):
self.ID = ID
self.number = number
self.department = department
self.job_title = job_title
# Mutators
def set_ID(self,ID):
self.ID = ID
def set_number(self,number):
self.number = number
def set_department(self,department):
self.department = department
def job_title(self,job_title):
self.job_title = job_title
#Accessor Methods
def get_ID(self):
return self.ID
def get_number(self):
return self.number
def get_department(self):
return self.department
def get_job_title(self):
return self.job_title
def get_data(self):
print self.ID, self.number,self.department,self.job_title
我将上面的保存为Employee.py。然后我启动了一个新文件并将其保存为Employee Management System.py
这是文件中的代码import Employee
import pickle
filename = 'contacts.dat'
input_file = open(filename,'rb')
unpickle_input_file = pickle.load(input_file)
def test_system():
user = input('Press 1 to look up employee,\nPress 2 to add employee'
'\n3Press 3 to change an existing employee name, department and job title'
'\n4 Delete an employee from the dictionary'
'\n5 Quit the program'
'\nMake your choice ')
if user == 2:
ID = raw_input('Enter the name ')
number = input('Enter the number')
deparment = raw_input('Enter the department ')
job_title = raw_input('Enter the job title ')
entry = module from Employee??.class name(id,number,department,job_title)??
empty_dictionary = {}
empty_dictionary[number] = entry
input_file.close()
我的第一个问题是,我试图使用Employee.py中创建的attribue。特别是init并向其添加条目。我知道上面的代码不在最合乎逻辑的论坛中,但我想先看看是否可以添加数据,然后先pickle文件。如果我能理解如何做这两件事的话,其他的一切都很容易弄清楚。
这让我想起import math
x = math.pi(3.14)
x = module.function(3.14)
但我不能把这两个例子联系起来。
谢谢你