Programming Exercise #3 Page 505 (Person and Customer classes): a.Name the first
ID: 3823911 • Letter: P
Question
Programming Exercise #3 Page 505 (Person and Customer classes):
a.Name the first Python file person.py. This file will define the Person and Customer classes. Write get and set methods for all data attributes.
b.Name the second Python file person_demo.py. This file will create a Customer object, ask for all input information, and display the attributes.
c.In addition to the requirements, write a function in the Person and Customer classes called speak(self). When a Person object calls this function, the program will display “I am a person.” When a Customer calls this function, the program will display “I am a customer.” Write a function in the demo program that calls the speak function to identify the customer calling it.
d.The mailing list attribute is Boolean, so be sure to set it to true or false.
An example of what your program interaction might look like is below. It does not have to be exactly like this, as long as it works correctly:
Explanation / Answer
person.py
class Person:
def __init__(self, name, address, telephone, email):
self.__name = name
self.__address = address
self.__telephone = telephone
self.__email = email
def set_name(self, name):
self.__name = name
def set_address(self, address):
self.__address = address
def set_telephone(self, telephone):
self.__telephone = telephone
def set_email(self, email):
self.__email = email
def get_name(self):
return self.__name
def get_address(self):
return self.__address
def get_telephone(self):
return self.__telephone
def get_email(self):
return self.__email
def speak(self):
print("I am a person")
class Customer(Person):
def __init__(self, name, address, telephone, mail, mailing, number):
Person.__init__(self, name, address, telephone, mail)
self.mailing = True if mailing == 'Y' else False
self.__mail = mail
self.__number = number
def set_mail(self, mail):
self.__mail = mail
def set_number(self, number):
self.__number = number
def get_mail(self):
return self.__mail
def get_number(self):
return self.__number
def mailList(self, mail):
if self.mailing == True:
return"On the mailing list"
else:
return"Not on the mailing list"
def speak(self):
print("I am a customer")
def __str__(self):
return " Name: {} Address: {} telephone: {} Email: {} Mail: {} Number: {}".
format(self.get_name(), self.get_address(),
self.get_telephone(), self.get_email()
, self.mailList(self.get_mail()),self.get_number())
person_demo.py
from person import Person, Customer
customer = Customer.Customer('Josh', 'Long st, Dallas TX',
'555-987-1549','adsf@asd.com','Y','1153')
name = input("Enter name: ")
address = input("Enetr address: ")
telephone = input("Enter telephne")
mail = input("Enter email: ")
mailing = input("Subscribe to mail? (Y/N): ")
number = input("Enter number: ")
customer = Customer(name, address, telephone, mail, mailing, number)
#Cosde link: https://goo.gl/TjUk9j
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.