27-05-2023, 06:17 PM
Hola, estoy practicando Python poco a poco
Por ahora estoy entrampado en este código, que es por consola y aparentemente no hay errores pero al hacer el debug si hay.
Uso Visual Studio Code,
De antemano agradezco su apoyo.
Por ahora estoy entrampado en este código, que es por consola y aparentemente no hay errores pero al hacer el debug si hay.
Uso Visual Studio Code,
Código:
def mostrar_menu(opciones):
print("| Menú: |")
for opcion, detalle in opciones.items():
descripcion = detalle["descripción"]
precio = detalle["precio"]
print(f"| {opcion}. {descripcion.ljust(18)}: {precio} soles |")
def obtener_opcion():
opcion = input("Selecciona una opción: ")
return opcion
def mostrar_submenu(opciones):
print("| Submenú: |")
for opcion, detalle in opciones.items():
descripcion = detalle["descripción"]
precio = detalle["precio"]
print(f"| {opcion}. {descripcion.ljust(18)}: {precio} soles |")
opciones_desayuno = {
"1": {"descripción": "Café", "precio": 4.5},
"2": {"descripción": "Chocolate", "precio": 5.0},
"3": {"descripción": "Jugo de Fresas", "precio": 9.0},
"4": {"descripción": "Jugo de Papaya", "precio": 8.0},
"5": {"descripción": "Pan con Pollo", "precio": 7.0},
"6": {"descripción": "Pan con Jamón", "precio": 7.0},
"7": {"descripción": "Pan con Tortilla", "precio": 7.0},
"8": {"descripción": "Volver al Menú Principal", "precio": 0.0},
}
opciones_almuerzo = {
"1": {"descripción": "Plato de pollo", "precio": 12.0},
"2": {"descripción": "Plato de carne", "precio": 14.0},
"3": {"descripción": "Plato de pescado", "precio": 15.0},
"4": {"descripción": "Ensalada mixta", "precio": 8.0},
"5": {"descripción": "Sopa del día", "precio": 6.0},
"6": {"descripción": "Arroz con pollo", "precio": 10.0},
"7": {"descripción": "Volver al Menú Principal", "precio": 0.0},
}
opciones_cena = {
"1": {"descripción": "Pizza margarita", "precio": 10.0},
"2": {"descripción": "Hamburguesa clásica", "precio": 8.0},
"3": {"descripción": "Sushi variado", "precio": 15.0},
"4": {"descripción": "Ensalada César", "precio": 9.0},
"5": {"descripción": "Pasta bolognesa", "precio": 12.0},
"6": {"descripción": "Plato de mariscos", "precio": 18.0},
"7": {"descripción": "Volver al Menú Principal", "precio": 0.0},
}
# Menú principal del programa
opciones_principal = {
"1": {"descripción": "Desayuno", "opciones": opciones_desayuno},
"2": {"descripción": "Almuerzo", "opciones": opciones_almuerzo},
"3": {"descripción": "Cena", "opciones": opciones_cena},
"4": {"descripción": "Salir", "opciones": {}}
}
carrito = []
total_consumido = 0.0
while True:
mostrar_menu(opciones_principal)
opcion_principal = obtener_opcion()
if opcion_principal == "4":
break
if opcion_principal in opciones_principal:
submenu = opciones_principal[opcion_principal]["opciones"]
mostrar_submenu(submenu)
opcion_submenu = obtener_opcion()
if opcion_submenu in submenu:
item_seleccionado = submenu[opcion_submenu]
carrito.append(item_seleccionado)
total_consumido += item_seleccionado["precio"]
print(f"Has seleccionado: {item_seleccionado['descripción']} - {item_seleccionado['precio']} soles")
elif opcion_submenu == "7":
print("Volviendo al Menú Principal...")
else:
print("Opción inválida. Intenta nuevamente.")
else:
print("Opción inválida. Intenta nuevamente.")
print("Has finalizado tu pedido. Aquí está tu resumen de consumo:")
print("Ítems consumidos:")
for item in carrito:
print(f"{item['descripción']} - {item['precio']} soles")
print(f"Total consumido: {total_consumido} soles")