class Employee:
def set_name(self, name):
self.name = name
def set_IDnumber(self, IDnumber):
self.IDnumber = IDnumber
def set_department(self, department):
self.department = department
def set_jobTitle(self, jobTitle):
self.jobTitle = jobTitle
def get_name(self):
# Returns name
return self.name
def get_IDnumber(self):
# Returns IDnumber
return self.IDnumber
def get_department(self):
# Returns department
return self.department
def get_jobTitle(self):
# Returns job title
return self.jobTitle
def make_list():
# Declaring list for storing information
employee_list = []
print("Enter data for 3 employees")
# Loop to loop through 3 employees info
for i in range(1, 4):
print('Employee ' + str(i))
# Takes input for each object
name = input('Enter employee name: ')
idNumber = int(input('Enter employee ID number: '))
department = input('Enter employee department: ')
jobTitle = input('Enter job title: ')
employee = Employee()
# Sets information for each object
employee.set_name(name)
employee.set_IDnumber(idNumber)
employee.set_department(department)
employee.set_jobTitle(jobTitle)
employee_list.append(employee)
#Returns list for display
return employee_list
def displayEmployees(list):
# Declaring strings to be further manipulated for spacing purposes
shopString = "CHRISTY'S SHOP EMPLOYEE REPORT"
employeeString = "EMPLOYEE NAME"
identifierString = "IDENTIFIER"
departmentString = "DEPARTMENT"
titleString = "TITLE"
# String alignment
print(shopString.center(70))
print(employeeString + identifierString.center(40) + departmentString + titleString.rjust(10))
print("------------------" + "----------".center(30) + "----------".rjust(15) + "-----".rjust(10))
for item in list:
name = item.get_name()
idNumber = item.get_IDnumber()
department = item.get_department()
jobTitle = item.get_jobTitle()
print(name + idNumber.center(30) + department.rjust(15) + jobTitle.rjust(10))
def main():
employees = make_list()
displayEmployees(employees)
main()
Here's my program. I'm trying to format the output from the list like this below:
If anyone could help me because I find that due to the differing length of each string in the list throws off the alignment so there must be a better way to align the information correctly. Thanks ahead of time.