# Menú del restaurante
menu = {
"Desayuno": {
1: ("te", 1.50),
2: ("empanadas", 1.99),
3: ("Jugo de fresa", 1.00)
},
"Almuerzo": {
1: ("caldo de gallina ", 3.50),
2: ("Pollo frito", 6.99),
3: ("seco de carne", 8.50)
},
"Cena": {
1: ("pizza ", 9.99),
2: ("areopuerto", 12.99),
3: ("pollo a la braza", 50.99)
# Función para mostrar el menú principal
def mostrar_menu():
print("----- Menú del Restaurante -----")
print("Categorías:")
for categoria in menu:
print(categoria)
print("---------------------------------")
# Función para mostrar el submenú de una categoría específica
def mostrar_submenu(categoria):
print(f"----- {categoria} -----")
for num_plato in menu[categoria]:
plato, precio = menu[categoria][num_plato]
print(f"{num_plato}. {plato}: ${precio}")
print("------------------------")
# Función para tomar la orden
def tomar_orden():
orden = []
opcion = input("Ingrese la categoría que desea ordenar (o presione Enter para salir): ")
while opcion:
if opcion in menu:
mostrar_submenu(opcion)
num_plato = input("Ingrese el número del plato que desea ordenar (o presione Enter
para finalizar la categoría): ")
while num_plato and num_plato != 'q':
if num_plato.isdigit() and int(num_plato) in menu[opcion]:
plato, precio = menu[opcion][int(num_plato)]
[Link]((plato, precio))
print(f"¡{plato} agregado a la orden!")
else:
print("Número de plato no válido. Por favor, seleccione un número de la lista.")
num_plato = input("Ingrese el número del plato que desea ordenar (o presione Enter
para finalizar la categoría): ")
else:
print("Categoría no válida. Por favor, seleccione una categoría del menú.")
opcion = input("Ingrese la categoría que desea ordenar (o presione Enter para salir): ")
return orden
# Función para calcular el subtotal de la orden
def calcular_subtotal(orden):
subtotal = sum(precio for _, precio in orden)
return subtotal
# Función para calcular el IGV (17% del subtotal)
def calcular_igv(subtotal):
igv = subtotal * 0.17
return igv
# Función para calcular el total (subtotal + IGV)
def calcular_total(subtotal, igv):
total = subtotal + igv
return total
# Función principal del programa
def restaurante():
print("¡Bienvenido al Restaurante!")
mostrar_menu()
orden = tomar_orden()
subtotal = calcular_subtotal(orden)
igv = calcular_igv(subtotal)
total = calcular_total(subtotal, igv)
# Imprimir boleta de ventas
print("----- Boleta de Ventas -----")
for plato, precio in orden:
print(f"{plato}: ${precio}")
print("------------------------")
print(f"Subtotal: ${subtotal}")
print(f"IGV (17%): ${igv}")
print(f"Total a pagar: ${total}")
print("------------------------")
# Ejecutar el programa
restaurante()