crea un codigo que permita a un usuario hacer un pedido en una cafeteria
**Cafetería en Python** ======================= A continuación, te presento un ejemplo de código que permite a un usuario hacer un pedido en una cafetería utilizando Python. **Código** ```python # Importar la biblioteca de menús import menu # Definir la clase Cafetería class Cafetería: def __init__(self): self.menu = menu.get_menu() self.pedidos = [] def mostrar_menu(self): print("Menú de la cafetería:") for i, item in enumerate(self.menu, start=1): print(f"{i}. {item['nombre']} - ${item['precio']}") def hacer_pedido(self): self.mostrar_menu() while True: try: opcion = int(input("Ingrese el número del item que desea pedir: ")) if 1 <= opcion <= len(self.menu): item = self.menu[opcion - 1] self.pedidos.append(item) print(f"Pedido agregado: {item['nombre']} - ${item['precio']}") break else: print("Opción inválida. Por favor, ingrese un número válido.") except ValueError: print("Error: Debe ingresar un número.") def mostrar_pedidos(self): print("Pedidos:") for i, pedido in enumerate(self.pedidos, start=1): print(f"{i}. {pedido['nombre']} - ${pedido['precio']}") def calcular_total(self): total = sum(pedido['precio'] for pedido in self.pedidos) return total # Definir el menú menu = { "Café": {"nombre": "Café", "precio": 1.50}, "Té": {"nombre": "Té", "precio": 1.00}, "Café con leche": {"nombre": "Café con leche", "precio": 2.00}, "Té con leche": {"nombre": "Té con leche", "precio": 2.00}, "Pan": {"nombre": "Pan", "precio": 0.50}, "Croissant": {"nombre": "Croissant", "precio": 1.00}, } # Crear una instancia de la cafetería cafetería = Cafetería() # Mostrar el menú cafetería.mostrar_menu() # Hacer pedidos while True: print("\nOpciones:") print("1. Hacer un pedido") print("2. Mostrar pedidos") print("3. Calcular total") print("4. Salir") try: opcion = int(input("Ingrese la opción: ")) if opcion == 1: cafetería.hacer_pedido() elif opcion == 2: cafetería.mostrar_pedidos() elif opcion == 3: total = cafetería.calcular_total() print(f"Total: ${total:.2f}") elif opcion == 4: break else: print("Opción inválida. Por favor, ingrese una opción válida.") except ValueError: print("Error: Debe ingresar un número.") ``` **Explicación del código** * La clase `Cafetería` representa la cafetería y tiene métodos para mostrar el menú, hacer pedidos, mostrar pedidos y calcular el total. * El menú se define como un diccionario con items que tienen un nombre y un precio. * El método `hacer_pedido` permite al usuario hacer un pedido seleccionando un item del menú. * El método `mostrar_pedidos` muestra todos los pedidos realizados por el usuario. * El método `calcular_total` calcula el total de los pedidos realizados por el usuario. * La clase `Cafetería` tiene un método `mostrar_menu` que muestra el menú de la cafetería. * El código utiliza un bucle para permitir al usuario hacer pedidos, mostrar pedidos y calcular el total hasta que elija salir. **Uso del código** 1. Corre el código en tu entorno de desarrollo. 2. Se mostrará el menú de la cafetería. 3. Ingresa la opción 1 para hacer un pedido. 4. Se mostrará el menú de la cafetería. Ingresa el número del item que deseas pedir. 5. Se agregará el pedido a la lista de pedidos. 6. Ingresa la opción 2 para mostrar los pedidos. 7. Se mostrarán todos los pedidos realizados por el usuario. 8. Ingresa la opción 3 para calcular el total. 9. Se mostrará el total de los pedidos realizados por el usuario. 10. Ingresa la opción 4 para salir del programa.