From c51b9f925ac769ff778fcf7fe7e9b0c0182789c2 Mon Sep 17 00:00:00 2001 From: pinak dhir Date: Sun, 7 Jan 2024 23:14:48 +0530 Subject: [PATCH 1/3] added food ordering system --- food_ordering_system/main.py | 59 ++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 food_ordering_system/main.py diff --git a/food_ordering_system/main.py b/food_ordering_system/main.py new file mode 100644 index 0000000..4bf01ef --- /dev/null +++ b/food_ordering_system/main.py @@ -0,0 +1,59 @@ +import random + +class FoodItem: + def __init__(self, name, price): + self.name = name + self.price = price + +class Menu: + def __init__(self): + self.menu_items = { + "Burger": FoodItem("Burger", 5.99), + "Pizza": FoodItem("Pizza", 8.99), + "Salad": FoodItem("Salad", 4.99), + # Add more items as needed + } + + def display_menu(self): + print("Menu:") + for item_name, food_item in self.menu_items.items(): + print(f"{item_name}: ${food_item.price}") + +class Order: + def __init__(self): + self.items = [] + + def add_item(self, food_item, quantity=1): + for _ in range(quantity): + self.items.append(food_item) + + def calculate_total(self): + return sum(item.price for item in self.items) + +def main(): + menu = Menu() + order = Order() + + while True: + menu.display_menu() + + item_name = input("Enter the name of the item you want to order (or 'exit' to finish): ") + + if item_name.lower() == 'exit': + break + + if item_name in menu.menu_items: + quantity = int(input("Enter the quantity: ")) + menu_item = menu.menu_items[item_name] + order.add_item(menu_item, quantity) + print(f"{quantity} {item_name}(s) added to your order.") + else: + print("Invalid item name. Please choose from the menu.") + + print("\nOrder Summary:") + for item in order.items: + print(f"{item.name}: ${item.price}") + print(f"Total: ${order.calculate_total()}") + +if __name__ == "__main__": + main() From db907ee519d3d11e70bdf555b52f8e2f16831574 Mon Sep 17 00:00:00 2001 From: pinak dhir Date: Sun, 7 Jan 2024 23:19:38 +0530 Subject: [PATCH 2/3] added food ordering system --- food_ordering_system/main.py | 59 ------------------------------------ 1 file changed, 59 deletions(-) diff --git a/food_ordering_system/main.py b/food_ordering_system/main.py index 4bf01ef..e69de29 100644 --- a/food_ordering_system/main.py +++ b/food_ordering_system/main.py @@ -1,59 +0,0 @@ -import random - -class FoodItem: - def __init__(self, name, price): - self.name = name - self.price = price - -class Menu: - def __init__(self): - self.menu_items = { - "Burger": FoodItem("Burger", 5.99), - "Pizza": FoodItem("Pizza", 8.99), - "Salad": FoodItem("Salad", 4.99), - # Add more items as needed - } - - def display_menu(self): - print("Menu:") - for item_name, food_item in self.menu_items.items(): - print(f"{item_name}: ${food_item.price}") - -class Order: - def __init__(self): - self.items = [] - - def add_item(self, food_item, quantity=1): - for _ in range(quantity): - self.items.append(food_item) - - def calculate_total(self): - return sum(item.price for item in self.items) - -def main(): - menu = Menu() - order = Order() - - while True: - menu.display_menu() - - item_name = input("Enter the name of the item you want to order (or 'exit' to finish): ") - - if item_name.lower() == 'exit': - break - - if item_name in menu.menu_items: - quantity = int(input("Enter the quantity: ")) - menu_item = menu.menu_items[item_name] - order.add_item(menu_item, quantity) - print(f"{quantity} {item_name}(s) added to your order.") - else: - print("Invalid item name. Please choose from the menu.") - - print("\nOrder Summary:") - for item in order.items: - print(f"{item.name}: ${item.price}") - print(f"Total: ${order.calculate_total()}") - -if __name__ == "__main__": - main() From 50dc52a6709fd3113b55b3115e7cbf9e46c6ab5d Mon Sep 17 00:00:00 2001 From: Pinak Dhir Date: Tue, 9 Jan 2024 23:28:43 +0530 Subject: [PATCH 3/3] Update food_ordering.py --- food_ordering_system/main.py | 61 ++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) diff --git a/food_ordering_system/main.py b/food_ordering_system/main.py index e69de29..46f883c 100644 --- a/food_ordering_system/main.py +++ b/food_ordering_system/main.py @@ -0,0 +1,61 @@ +class FoodOrderingSystem: + def __init__(self): + self.menu = { + 1: {"name": "Burger", "price": 5.99}, + 2: {"name": "Pizza", "price": 8.99}, + 3: {"name": "Pasta", "price": 7.49}, + 4: {"name": "Salad", "price": 4.99}, + 5: {"name": "Soda", "price": 1.99}, + } + self.order = [] + + def display_menu(self): + print("Menu:") + for item_id, details in self.menu.items(): + print(f"{item_id}. {details['name']} - ${details['price']}") + + def take_order(self): + while True: + try: + item_id = int(input("Enter the item ID you want to order (0 to finish): ")) + if item_id == 0: + break + elif item_id in self.menu: + quantity = int(input("Enter the quantity: ")) + self.order.append({"item_id": item_id, "quantity": quantity}) + else: + print("Invalid item ID. Please try again.") + except ValueError: + print("Invalid input. Please enter a valid number.") + + def calculate_total(self): + total = 0 + for order_item in self.order: + item_id = order_item["item_id"] + quantity = order_item["quantity"] + total += self.menu[item_id]["price"] * quantity + return total + + def print_receipt(self): + print("\nReceipt:") + for order_item in self.order: + item_id = order_item["item_id"] + quantity = order_item["quantity"] + item_name = self.menu[item_id]["name"] + item_price = self.menu[item_id]["price"] + subtotal = item_price * quantity + print(f"{item_name} x{quantity}: ${subtotal:.2f}") + total = self.calculate_total() + print(f"\nTotal: ${total:.2f}") + + def run(self): + print("Welcome to the Food Ordering System!") + self.display_menu() + self.take_order() + self.print_receipt() + print("Thank you for using the Food Ordering System!") + + +if __name__ == "__main__": + food_ordering_system = FoodOrderingSystem() + food_ordering_system.run()