Skip to content

Instantly share code, notes, and snippets.

@codecademydev
Created July 23, 2021 00:12
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save codecademydev/628ea87bdd04808c1a2e3e8e3815fa74 to your computer and use it in GitHub Desktop.
Save codecademydev/628ea87bdd04808c1a2e3e8e3815fa74 to your computer and use it in GitHub Desktop.
Codecademy export
class Menu:
def __init__(self, name, items, start_time, end_time):
self.name = name
self.items = items
self.start_time = start_time
self.end_time = end_time
def __repr__(self):
return self.name + ' menu available from ' + str(self.start_time) + ' to ' + str(self.end_time) + '.'
def calculate_bill(self, purchased_items):
bill = 0
for purchased_item in purchased_items:
if purchased_item in self.items:
bill += self.items[purchased_item]
return bill
brunch = Menu("Brunch", {'pancakes': 7.50, 'waffles': 9.00, 'burger': 11.00, 'home fries': 4.50, 'coffee': 1.50, 'espresso': 3.00, 'tea': 1.00, 'mimosa': 10.50, 'orange juice': 3.50}, 1100, 1600)
early_bird = Menu("Early Bird", {'salumeria plate': 8.00, 'salad and breadsticks (serves 2, no refills)': 14.00, 'pizza with quattro formaggi': 9.00, 'duck ragu': 17.50, 'mushroom ravioli (vegan)': 13.50, 'coffee': 1.50, 'espresso': 3.00,}, 1500, 1800)
dinner = Menu("Dinner", {
'crostini with eggplant caponata': 13.00, 'ceaser salad': 16.00, 'pizza with quattro formaggi': 11.00, 'duck ragu': 19.50, 'mushroom ravioli (vegan)': 13.50, 'coffee': 2.00, 'espresso': 3.00,
}, 1700, 2300)
kids = Menu("Kids", {
'chicken nuggets': 6.50, 'fusilli with wild mushrooms': 12.00, 'apple juice': 3.00
}, 1100 , 2100)
print(dinner)
print(brunch.calculate_bill(['pancakes', 'home fries', 'coffee']))
print(early_bird.calculate_bill(['salumeria plate', 'mushroom ravioli (vegan)']))
menus = [brunch, early_bird, dinner, kids]
class Franchise:
def __init__(self, address, menus):
self.address = address
self.menus = menus
def __repr__(self):
return "Our location is at " + self.address + " and has our " + self.menus + " menus!"
def available_menus(self, time):
available_menus = []
for menu in self.menus:
if time >= menu.start_time and time <= menu.end_time:
available_menus.append(menu)
return available_menus
flagship_store = Franchise("1232 West End Road", "Brunch, Early Bird, Dinner, and Kids")
new_installment = Franchise("12 East Mulberry Street", "Brunch, Early Bird, Dinner, and Kids")
print(flagship_store)
print(flagship_store.available_menus(1200))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment