Question: When should I use functions? When should I use classes? I wrote my program twice: as a function and as a class (I did so for educational purposes, to better understand both concepts).
Both programs do exactly the same, and the work neatly. Can you advise when I should use functions and when it's appropriate to make use of classes? Any feedback rgrd. my code? Anything I can improve? Thanks! # FUNCTION def ManageFood(): shopping_list = [] prompt = ("Which foods would you like to purchase?\nEnter 'quit' to exit. ") food = input(prompt) while food != "quit": shopping_list.append(food) food = input(prompt) print("These are your foods on your shopping list: %s." % ", ".join(shopping_list)) eat_food = [] store_food = [] for food in shopping_list: print("You bought: %s. " % (food)) prompt = input("What would you like to do with it?\nEnter 'eat' or 'store'. ") if prompt == "eat": eat_food.append(food) elif prompt == "store": store_food.append(food) print("Food for instant consupmtion: %s." % ", " .join(eat_food)) print("Food for storage: %s." % ", " .join(store_food)) ManageFood() # CLASS class FoodManager: def __init__(self): self.shopping_list = [] self.user_input = ("Which foods would you like to purchase?\nEnter 'quit' to exit? ") self.eat_food = [] self.store_food = [] self.user_choice = ("What would you like to do with it?\nEnter 'eat' or 'store'. ") def purchase_food(self): get_food = input(self.user_input) while get_food != "quit": self.shopping_list.append(get_food) get_food = input(self.user_input) print("These are your foods on your shopping list: %s." % ", ".join(self.shopping_list)) def manage_food(self): for item in self.shopping_list: print("You bought: %s. " % (item)) eat_or_store = input(self.user_choice) if eat_or_store == "eat": self.eat_food.append(item) elif eat_or_store == "store": self.store_food.append(item) print("Food for instant consumption: %s." % ", ".join(self.eat_food)) print("Food for storage: %s." % ", ".join(self.store_food)) if __name__ == "__main__": my_food = FoodManager() my_food.purchase_food() my_food.manage_food() _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: https://mail.python.org/mailman/listinfo/tutor