class Item(object): def __init__(self, name, quantity=1, token=None): self.name = name self.quantity = quantity self.token = token or 'piece' def pluralize_token(self): token = self.token if self.quantity > 1: token += 's' return token def fetch_item(self): print "Fetching {0.name} . . .".format(self) return class Ingredient(Item): def __init__(self, name, quantity=1, token=None): self.name = name self.quantity = quantity self.token = token or 'ingredient' def addingIngredientToSandwich(self): pass def movingIngredient(self): pass def changingIngredient(self): pass class StorageContainer(Item): def __init__(self, name, quantity=1, token=None): self.name = name self.quantity = quantity self.token = token or 'container' def storingIngredients(self, ingredient): pass def fetchingIngredientFromContainer(self): pass def addingIngredientToContainer(self): pass class Knife (StorageContainer): def __init__(self, name, quantity=1, token): self.name = 'knife' self.quantity = quantity self.token = 'knife' def pluralize_token(self): token = self.token if self.quantity > 1: token = 'knives' return token jar = StorageContainer(name='jar', token='jar') bag = StorageContainer(name='bag', token='bag') plate = StorageContainer(name='plate', token='plate') peanutButter = Ingredient(name='peanut butter', token='tablespoon') jelly = Ingredient(name='jelly', token='spoonful') bread = Ingredient(name='bread', token = 'slice') knife = Knife() def make_sandwich(*flat_carb, *fillings, *topping): print "I will make you a sandwich" for flat in flat_carb: print "I’ll start with two slices of "+ flat_carb for fill in fillings: print "Then I will add "+ fill for top in toppings: print "And I will top it off with "+ top print "Your sandwich is ready!" #help from https://www.digitalocean.com/community/tutorials/understanding-class-inheritance-in-python-3 #Items to put in program: plate, knife, jelly, peanut butter, bread, bag, jar, table #class Ingredient(object): # def __init__(self, name, quantity=1, token=None): # self.name = name # self.quantity = quantity # self.token = token or 'piece' #def fetch_ingredient(self): # print "Fetching {0.name}...".format(self) # return #def add_ingredient(self): # token = self.pluralize_token() # print "Adding {0.quantity} {1} of {0.name}...\n".format(self, token) # return #def pluralize_token(self): # token = self.token # if self.quantity > 1: # token += 's' #return token #def shelve_ingredient(self): # print "Shelving {0.name}...\n".format(self) # return #def __enter__(self): # self.fetch_ingredient() # return self #def __exit__(self, *args): # self.shelve_ingredient() # return #class StorageContainer(object): # def __init__(self, ingredient, storageToken, ingredientQuantity=1 storageSpace=1): # self.ingredient=ingredient # self.storageToken=storageToken # self.ingredientQuantity = ingredientQuantity # self.storageSpace = storageSpace #def fetchStorage(self): # print "Fetching {0.storageToken} . . .".format(self) #def checkStorage(self): # if self.ingredientQuantity == 0: # print "There is no more {0.ingredient}, we need another {0.storageToken} .".format(self) # else: # self.storageSpace = cmp(self.storageSpace, self.ingredientQuantity) #while bread >=2 and peanut_butter >=1 and jelly >= 1: #sandwiches = sandwiches + 1 #print "Making sandwich # {0}".format(sandwiches) #bread = bread - 2 #peanut_butter = peanut_butter - 1 #jelly = jelly - 1 #print "I have enough bread for {0} more sandwiches, enough peanut butter for {1} more, and enough jelly for {2} more.".format(bread/2, peanut_butter, jelly) #if min(bread/2, peanut_butter, jelly) == bread/2: # missing_ingredient = "bread" #elif min(bread/2, peanut_butter, jelly) == peanut_butter: # missing_ingredient = "peanut butter" #else: # missing_ingredient = "jelly" #print "All done, I ran out of {0}.".format(missing_ingredient) #print "You have {0} slices of bread, {1} servings of peanut butter, and {2} servings of jelly remaining.".format(bread, peanut_butter, jelly)
Run
Reset
Share
Import
Link
Embed
Language▼
English
中文
Python Fiddle
Python Cloud IDE
Follow @python_fiddle
Browser Version Not Supported
Due to Python Fiddle's reliance on advanced JavaScript techniques, older browsers might have problems running it correctly. Please download the latest version of your favourite browser.
Chrome 10+
Firefox 4+
Safari 5+
IE 10+
Let me try anyway!
url:
Go
Python Snippet
Stackoverflow Question