Mi proyecto del curso: Introducción a la programación con Python, Administrador de reservas de restaurante.
Mi proyecto del curso: Introducción a la programación con Python, Administrador de reservas de restaurante.
oleh Luis Andres TELLEZ AVILA @andriohead
- 62
- 0
- 0
# Prograna para la gestión de reservas de un restaurante
# Menú compuesto de 4 opciones (Agregar, Eliminar, Editar y Ver reservas)
# Las reservas tienen información (cliente, número de personas, fecha, hora, número de mesa y anotaciones)
personas = 0
fecha = 0
hora = 0
observaciones = 0
conf_agr = 0
si = ("S", "s", "SI", "Sí", "sí", "Si", "si")
no = ("N", "n", "NO", "No", "no")
reservas = [["Andres", 3, "05/06", "07:30", ""],
["Laura", 4, "07/06", "08:30", "No carne"],
["Sonia", 6, "04/06", "07:00", "Cumpleaños niños de 5 años"],
["Marco", 3, "05/06", "07:15", "Mesa en terraza"],
["Diego", 2, "05/06", "07:30", "Aniversario"]
]
print ("")
print ("*** Gestor de reservas - Restaurante Test ***")
print ("")
def menu():
print ("")
print ("Selecciona una opción:")
opciones = ["Agregar reserva a la lista",
"Eliminar reserva de la lista",
"Editar reserva",
"Ver reservas",
"Salir"]
for i in range(len(opciones)):
print (f" {i+1}. {opciones[i]}")
def agregar():
while True:
print ("")
nombre = (input("Agregue nombre del cliente o escriba 'x' para regresar al menú prncipal: "))
if nombre == "x": break
else:
personas = int(input(" Ingrese número de personas: "))
fecha = input (" Ingrese fecha de reserva (dd/mm): " )
hora = input (" Ingrese hora de reserva (hh:mm): ")
observaciones = input (" Observaciones: ")
print ("")
print (f" {nombre} ha hecho una reserva para {personas} personas, para el día {fecha} a las {hora}. {observaciones}")
conf_agr = input(" La información suministrada es correcta S/N: ")
if conf_agr in si:
reservas.append([nombre, personas, fecha, hora, observaciones])
elif conf_agr in no:
continue
else:
print ("Ha seleccionado una opción no válida. Intente de nuevo:")
def ver ():
reserva_tmp = []
for i in range (len(reservas)):
tmp = [i+1, reservas [i][0], reservas [i][1], reservas [i][2], reservas [i][3], reservas [i][4]]
reserva_tmp.append(tmp)
print("")
print (" Estas son las reservas ingresadas hasta el momento:")
print(" {:<5} {:<20} {:<10} {:<10} {:<10} {:<10}".format("No", "Nombre", "Personas", "Fecha", "Hora ", "Observaciones"))
for v in reserva_tmp:
i, nombre, pers, fecha, hora, observ = v
print ("{:<5} {:<20} {:<10} {:<10} {:<10} {:<10}".format(i, nombre, pers, fecha, hora, observ))
def eliminar ():
while True:
ver ()
print ("")
op_eliminar = input(" Seleccione la reserva que desea eliminar o escriba 'x' para regresar al menú prncipal: ")
if op_eliminar == "x": break
elif int(op_eliminar) in range(len(reservas)+1):
conf_eliminar = input(f" Está seguro de eliminar la reserva # {op_eliminar} a nombre de {reservas[int(op_eliminar)-1][0]} S/N: ")
if conf_eliminar in si:
del reservas[int(op_eliminar)-1]
elif conf_eliminar in no:
continue
else:
print ("Ha seleccionado una opción no válida. Intente de nuevo:")
else:
print ("Ha seleccionado una opción no válida. Intente de nuevo:")
def editar ():
while True:
ver ()
print ("")
op_editar = input(" Seleccione la reserva que desea editar o escriba 'x' para regresar al menú prncipal: ")
if op_editar == "x": break
elif int(op_editar) in range(len(reservas)+1):
conf_editar = input(f" Está seguro de editar la reserva # {op_editar} a nombre de {reservas[int(op_editar)-1][0]} S/N: ")
if conf_editar in si:
while True:
print ("Seleccione la opción de lo que desea editar")
print (" 1. Número de personas")
print (" 2. Fecha")
print (" 3. Hora")
print (" 4. Observaciones")
print (" 5. Volver")
edi_op = int(input(": "))
if edi_op == 1:
nvo_personas = int(input("Ingrese numero de personas: "))
reservas[int(op_editar)-1] [edi_op] = nvo_personas
print (" La reserva ha quedado así:")
print (f" {reservas[int(op_editar)-1][0]} {reservas[int(op_editar)-1][1]} {reservas[int(op_editar)-1][2]} {reservas[int(op_editar)-1][3]} {reservas[int(op_editar)-1][4]}")
continue
elif edi_op == 2:
nva_fecha = input("Ingrese nueva fecha: ")
reservas[int(op_editar)-1] [edi_op] = nva_fecha
print (" La reserva ha quedado así:")
print (f" {reservas[int(op_editar)-1][0]} {reservas[int(op_editar)-1][1]} {reservas[int(op_editar)-1][2]} {reservas[int(op_editar)-1][3]} {reservas[int(op_editar)-1][4]}")
continue
elif edi_op == 3:
nva_hora = input("Ingrese nueva hora: ")
reservas[int(op_editar)-1] [edi_op] = nva_hora
print (" La reserva ha quedado así:")
print (f" {reservas[int(op_editar)-1][0]} {reservas[int(op_editar)-1][1]} {reservas[int(op_editar)-1][2]} {reservas[int(op_editar)-1][3]} {reservas[int(op_editar)-1][4]}")
continue
elif edi_op == 4:
nva_observ = input("Ingrese nuevas observaciones: ")
reservas[int(op_editar)-1] [edi_op] = nva_observ
print (" La reserva ha quedado así:")
print (f" {reservas[int(op_editar)-1][0]} {reservas[int(op_editar)-1][1]} {reservas[int(op_editar)-1][2]} {reservas[int(op_editar)-1][3]} {reservas[int(op_editar)-1][4]}")
continue
elif edi_op == 5:
break
else:
print ("Ha seleccionado una opción no válida. Intente de nuevo:")
elif conf_editar in no:
break
else:
print ("Ha seleccionado una opción no válida. Intente de nuevo:")
while True:
menu ()
op = int(input())
if op == 1:
agregar()
elif op == 2:
eliminar()
elif op == 3:
editar ()
elif op == 4:
ver()
elif op == 5:
break
else:
print ("Has seleccionado una opción no válida. Intenta de nuevo:")

1 komentar
Masuk atau bergabung Gratis untuk berkomentar