Customer Class
'''
Class called Customer
Every customer has a name,
number, email, phone and they
can collect rewards points
An object is collection of related
functions. They all relate
to one topic like customer.
The idea is to make it easier
to manage complex code
by breaking it into the kinds
of objects that actually make up
the contents of the program
abstraction
encapsulation
inheritance
polymorphism
'''
class Customer():
def __init__(self, number, name, phone, email, rewards):
self.number=number
self.name=name
self.phone=phone
self.email=email
self.rewards=rewards
def setPhone(self, phone):
self.phone=phone
def getPhone(self):
return self.phone
def getName(self):
return self.name
def getEmail(self):
return self.email
def getRewards(self):
return self.rewards
def addRewards(self, points):
self.rewards += points
def useRewards(self, points):
self.rewards = self.rewards-points
def __str__(self):
return str(self.number) + ", " + self.name
Item Class
'''
class item
It will represent an item to purchase
It will have a number, a name and a price
'''
class Item():
def __init__(self, number, name, price):
self.number=number
self.name=name
self.price=price
def getNumber(self):
return self.number
def getName(self):
return self.name
def getPrice(self):
return self.price
Purchase Class
'''
Purchase class
to show purchase of an item
it will have a list of items
and methods for
Totaling the purchase
and totaling the points
str method that outputs
basically a receipt
'''
class Purchase():
def __init__(self):
self.items=[]
def addItem(self, item):
self.items.append(item)
def totalItems(self):
total=0
for item in self.items:
total += item.price
return total
def totalPoints(self):
total=self.totalItems()
points=int(total)
return points
def __str__(self):
receipt=""
for item in self.items:
receipt =receipt + item.name +"\t\t" + str(item.price) + "\n"
total = self.totalItems()
receipt=receipt + "\t\t" + str(total)
return receipt
Main
from customer import Customer
from item import Item
from purchase import Purchase
def main():
cust=Customer(123, 'Steve', 'steve@spconger.com', '2065551234', 0)
purch = Purchase()
cont='y'
while cont=='y':
itemNumber=int(input('Enter item Number. '))
itemName=input("Enter item name ")
itemPrice=float(input("Enter item price "))
item=Item(itemNumber, itemName, itemPrice)
purch.addItem(item)
cont=input("Add another item? y to continue. " )
cont=cont.lower()
print(purch)
cust.addRewards(purch.totalPoints())
print ("your total rewards are", cust.getRewards())
main()