Ejercicio Definiciones en Python

En este ejercicio práctico vamos a implementar funciones separadas para suma, resta, multiplicación, división y cálculo factorial. Utilizaremos estas funciones para realizar operaciones específicas con números predefinidos y observen los resultados impresos en pantalla para validar las operaciones realizadas.

# Función para calcular el factorial de un número
def factorial(n):
    f = 1
    for i in range(1, n + 1):
        f = f * i
    return f

# Función para realizar una suma
def suma(x, y):
    s = x + y
    return s

# Función para realizar una resta
def resta(x, y):
    r = x - y
    return r

# Función para realizar una multiplicación
def multiplicacion(x, y):
    m = x * y
    return m

# Función para realizar una división
def division(x, y):
    d = x / y
    return d

# Calcular el factorial de 5
w = factorial(5)
print("El factorial:", w)

# Realizar una suma de 5 y 5
ss = suma(5, 5)
print("La suma es: ", ss)

# Realizar una resta de 10 menos 5
rr = resta(10, 5)
print("La resta es: ", rr)

# Realizar una multiplicación de 20 por 5
mm = multiplicacion(20, 5)
print("La multiplicación es: ", mm)

# Realizar una división de 5 entre 5
dd = division(5, 5)
print("La división es: ", dd)

En este ejercicio hemos definido una serie de funciones (suma, resta, multiplicacion, division y factorial) que realizan operaciones matemáticas básicas y cálculo factorial.

Luego, hamos utilizado estas funciones para realizar operaciones específicas y mostrar los resultados. El código hace uso adecuado de las funciones para realizar las operaciones y mostrar los resultados de manera clara.

Al ejecutarlo, obtendrás:

  • El factorial de 5.
  • La suma de 5 y 5.
  • La resta de 10 menos 5.
  • La multiplicación de 20 por 5.
  • La división de 5 entre 5.
lv = []
tarifas = []
cf = 1
cod = 202301

# --------------------------------------------------Opción 7 “Cuadre de Caja”:
def cuadre_de_caja(lv):
    n = len(lv)
    
    total_salidas = 0

    for i in range(0,n):
        if lv[i][5] != 0:  # Verificar si el vehículo tiene hora de salida diferente de cero
            total_salidas = total_salidas + lv[i][7]  # Sumar el total a pagar de los vehículos que registraron salida

    print("\nTotal de los vehículos que registraron salida: ", total_salidas)
    menu()

#------------------------------------------------------------------Opción 6 “Buscar Factura”
def buscar_factura(lv):
    n = len(lv)
    factura_buscar = int(input("Ingrese el número de la factura a buscar: "))
    encontrado = False

    for i in range(0,n):
        if lv[i][4] == factura_buscar:
            encontrado = True
            print("\nInformación de la factura encontrada:")
            print("Factura No:", lv[i][4])
            print("Num Placa:", lv[i][0])
            print("Vehículo tipo:", lv[i][1])
            print("Hora de ingreso:", lv[i][2])
            print("Hora de salida:", lv[i][5])
            print("Nombre:", lv[i][3])
            print("Numero minutos:", lv[i][6])
            print("Total:", lv[i][7])
            break

    if not encontrado:
        print("No se encontró ninguna factura con ese número.")

    menu()

#-------------------------------------------------------------------------Opción 5 “Salida Vehículo”:
def salida_vehiculo(lv, tarifas):
    n = len(lv)
    tipo = input("Ingrese el tipo de vehículo (a: automóvil, m: moto, b: bicicleta): ")
    placa = input("Ingrese la placa del vehículo: ")
    hora_salida = int(input("Ingrese la hora de salida (formato 24h - hhmm): "))

    encontrado = False
    
    for i in range(0, n):        
        if lv[i][0] == placa and lv[i][1] == tipo:
            encontrado = True

            if hora_salida < lv[i][2]:
                print("Error: La hora de salida no puede ser menor que la hora de entrada.")
                salida_vehiculo(lv, tarifas)

            # Calcular los minutos de entrada y salida para obtener el tiempo de estacionamiento
            minutos_entrada = lv[i][2] // 100 * 60 + lv[i][2] % 100
            minutos_salida = hora_salida // 100 * 60 + hora_salida % 100
            tiempo_parqueadero = minutos_salida - minutos_entrada

            # Establecer el índice de tarifa según el tipo de vehículo
            indice_tarifa = 0
            if tipo == "m":
                indice_tarifa = 1
            elif tipo == "b":
                indice_tarifa = 2

            # Calcular la tarifa a pagar y el total a pagar
            tarifa = tarifas[indice_tarifa]
            total_pagar = tiempo_parqueadero * tarifa

            # Mostrar la información y actualizar los datos del vehículo
            print("\nFactura No:", lv[i][4])
            print("Tipo de vehículo:", lv[i][1])
            print("Placa:", lv[i][0])
            print("Hora de salida:", hora_salida)
            print("Número de minutos:", tiempo_parqueadero)
            print("Total a pagar:", total_pagar)

            lv[i][5] = hora_salida  # Actualizar hora de salida
            lv[i][6] = tiempo_parqueadero  # Actualizar tiempo de estancia
            lv[i][7] = total_pagar  # Actualizar total a pagar
            return lv

    if encontrado:  # Si se encontró el vehículo
        pass
    else:  # Si no se encontró el vehículo
        print("El vehículo no está registrado en el sistema.")        
        menu()


#---------------------------------------------------------Opción “4. Mostrar Registros”:
def mostrar_registros(lv):
    opc = 1
    n = len(lv)

    while opc > 0 and opc <= 4:
        print("\nSubmenú Mostrar vehículos:")
        print("1. Mostrar todos los automóviles")
        print("2. Mostrar todas las motocicletas")
        print("3. Mostrar todas las bicicletas")
        print("4. Regresar al menú principal")
        opc = int(input("Seleccione una opción: "))

        if opc == 1:
            print("\n--- Automóviles ---")
            print("Placa     Hora de Ingreso     Nombre    Factura No  Hora de Salida     Número de Minutos    Total")
            print("--------------------------------------------------------------------------------------------------------------")

            for i in range(n):
                if lv[i][1] == "a":
                    print(lv[i][0],"  ", lv[i][2],"              ", lv[i][3],"   ", lv[i][4],"          ", lv[i][5],"                ", lv[i][6],"                 ", lv[i][7])
                    print("------------------------------------------------------------------------------------------------------")

        elif opc == 2:  
            print("\n--- Motocicletas ---")
            print("Placa     Hora de Ingreso     Nombre    Factura No  Hora de Salida     Número de Minutos    Total")
            print("--------------------------------------------------------------------------------------------------------------")

            for i in range(n):
                if lv[i][1] == "m":
                    print(lv[i][0],"  ", lv[i][2],"              ", lv[i][3],"   ", lv[i][4],"          ", lv[i][5],"                ", lv[i][6],"                 ", lv[i][7])
                    print("------------------------------------------------------------------------------------------------------")

        elif opc == 3:  
            print("\n--- Bicicletas ---")
            print("Placa     Hora de Ingreso     Nombre    Factura No  Hora de Salida     Número de Minutos    Total")
            print("--------------------------------------------------------------------------------------------------------------")

            for i in range(n):
                if lv[i][1] == "b":
                    print(lv[i][0],"  ", lv[i][2],"              ", lv[i][3],"   ", lv[i][4],"          ", lv[i][5],"                ", lv[i][6],"                 ", lv[i][7])
                    print("------------------------------------------------------------------------------------------------------")

        
        elif opc == 4:
            menu()
            



#-----------------------------------------------------------Opción “3. Buscar vehículo” :
def buscarvehiculo(lv):
    n = len(lv)
    opc = 1

    while opc > 0 and opc <= 4:
        print("\nSubmenú Buscar:")
        print("1. Buscar motos")
        print("2. Buscar automóviles")
        print("3. Buscar bicicletas")
        print("4. Regresar al menú principal")
        opc = int(input("Seleccione una opción: "))

        if opc == 1:
            placa_buscar = input("Ingrese la placa de la moto a buscar: ")
            value = False  # Variable para controlar si se encontró algún vehículo

            for i in range(0,n):
                if lv[i][0] == placa_buscar and lv[i][1] == "m":  # Verifica la placa y el tipo de vehículo
                    value = True
                    print("\nInformación del vehículo encontrado:")
                    print("Factura No:", lv[i][4])  # Utiliza lv[i] para acceder a cada vehículo
                    print("Num Placa:", lv[i][0])
                    print("Vehículo tipo:", lv[i][1])
                    print("Hora de ingreso:", lv[i][2])
                    print("Hora de salida:", lv[i][5])
                    print("Nombre:", lv[i][3])
                    print("Numero minutos:", lv[i][6])
                    print("Total:", lv[i][7])

            if value == False:
                print("No se encontró ninguna moto con esa placa.")

        if opc == 2:
            placa_buscar = input("Ingrese la placa del automóvil a buscar: ")
            value = False  # Variable para controlar si se encontró algún vehículo

            for i in range(0,n):
                if lv[i][0] == placa_buscar and lv[i][1] == "a":  # Verifica la placa y el tipo de vehículo
                    value = True
                    print("\nInformación del vehículo encontrado:")
                    print("Factura No:", lv[i][4])  # Utiliza lv[i] para acceder a cada vehículo
                    print("Num Placa:", lv[i][0])
                    print("Vehículo tipo:", lv[i][1])
                    print("Hora de ingreso:", lv[i][2])
                    print("Hora de salida:", lv[i][5])
                    print("Nombre:", lv[i][3])
                    print("Numero minutos:", lv[i][6])
                    print("Total:", lv[i][7])
                    print("-------------------")

            if value == False:
                print("No se encontró ningún automóvil con esa placa.")

        if opc == 3:
            placa_buscar = input("Ingrese la placa de la bicicleta a buscar: ")
            value = False  # Variable para controlar si se encontró algún vehículo

            for i in range(n):
                if lv[i][0] == placa_buscar and lv[i][1] == "b":  # Verifica la placa y el tipo de vehículo
                    value = True
                    print("\nInformación del vehículo encontrado:")
                    print("Factura No:", lv[i][4])  # Utiliza lv[i] para acceder a cada vehículo
                    print("Num Placa:", lv[i][0])
                    print("Vehículo tipo:", lv[i][1])
                    print("Hora de ingreso:", lv[i][2])
                    print("Hora de salida:", lv[i][5])
                    print("Nombre:", lv[i][3])
                    print("Numero minutos:", lv[i][6])
                    print("Total:", lv[i][7])
                    print("-------------------")

            if value == False:
                print("No se encontró ninguna bicicleta con esa placa.")

        if opc == 4:
            menu()   

#---------------------------------------------------------Punto 2: Ingresar Vehiculo
def ingresarvehiculo(lv,cod,cf):
    n = len(lv)
    fila = []
    hora_salida = 0
    num_min = 0
    total = 0
    
    print("\nTipo de vehiculo a ingresar")
    tipo = input("Tipo de vehículo (a: automóvil, m: moto, b: bicicleta): ")

    if tipo == "b":
        placa = str(cod)
        cod += 1
    elif tipo == "a":
        placa = input("Placa del automóvil (3 letras seguidas de 3 números): ")        
    elif tipo == "m":
        placa = input("Placa de la moto (3 letras seguidas de 2 números y 1 letra): ")        
    
    # Validar si la placa ya existe
    if n > 0:
        for i in range(0,n):
            if lv[i][0] == placa:
                print("La placa ya está registrada")
                return ingresarvehiculo(lv,cod,cf)

    fila.append(placa)
        
    
    hora = int(input("Digite hora de ingreso (formato 24h - hhmm): "))
    hh = hora // 100
    mm = hora % 100

    while hora < 0 or hh >= 24 or mm >= 60:
        print("Formato de hora invalido")
        hora = int(input("Digite hora de ingreso (formato 24h - hhmm): "))
        hh = hora // 100
        mm = hora % 100
    
    nombre = input("Nombre del cliente: ")        
    
    fila.append(tipo)
    fila.append(hora)
    fila.append(nombre)
    fila.append(cf)
    fila.append(hora_salida)
    fila.append(num_min)
    fila.append(total)
    lv.append(fila)
    return lv,cod,cf

#----------------------------------------------------------------------Opción 3 “Modificar Tarifas”:
def modificartarifas(tarifas):
    opc = 1
    while opc > 0 and opc < 5:
        print("\nOpciones con Tarifas")
        print("1. Modificar Tarifa de Automóvil")
        print("2. Modificar Tarifa de Motocicleta")
        print("3. Modificar Tarifa de Bicicleta")        
        print("4. Regresar al menú principal")

        opc = int(input("Seleccione una opción: "))

        if opc == 1:
            t1 = float(input("Ingrese el valor a cobrar por minuto para automóviles: "))
            tarifas[0] = t1            
        elif opc == 2:
            t2 = float(input("Ingrese el valor a cobrar por minuto para motocicletas: "))
            tarifas[1] = t2
        elif opc == 3:
            t3 = float(input("Ingrese el valor a cobrar por minuto para bicicletas: "))
            tarifas[2] = t3
        elif opc == 4:            
            return tarifas
        else:
            print("\nOpción inválida. Por favor, seleccione una opción válida.")
            print("")
            modificartarifas(tarifas)



#-------------------------------------------------------------------Opción 1 “Ingresar Tarifas”:
def ingresar_tarifas(tarifas):
    opc = 1
    while opc > 0 and opc < 5:
        print()
        print("Opciones con Tarifas")
        print("1. Ingresar Tarifa de Automóvil")
        print("2. Ingresar Tarifa de Motocicleta")
        print("3. Ingresar Tarifa de Bicicleta")
        print("4. Regresar al sub Menú Tarifas")

        opc = int(input("Seleccione una opción: "))

        if opc == 1:
            t1 = float(input("Ingresa el valor a cobrar por minuto para automóviles: "))
            tarifas.append(t1)
        if opc == 2:
            t2 = float(input("Ingresa el valor a cobrar por minuto para motocicletas: "))
            tarifas.append(t2)
        if opc == 3:
            t3 = float(input("Ingresa el valor a cobrar por minuto para bicicletas: "))
            tarifas.append(t3)
        if opc == 4:
            return tarifas  
    
    ingresar_tarifas(tarifas)



#----------------------------------------------------------------------Opción “1. Tarifas”:
def menu_tarifas(tarifas):
    opc = 1    
    while opc > 0 and opc < 5:        
        print("\nTarifas")
        print("1. Ingresar Tarifas")
        print("2. Mostrar Tarifas")
        print("3. Modificar Tarifas")
        print("4. Regresar al Menú principal")

        opc = int(input("Seleccione una opción: "))

        if opc == 1:
            tarifas = ingresar_tarifas(tarifas)
#----------------------------------------------------------------------Opción 2 “Mostrar Tarifas”:
        if opc == 2:
            print()
            print("Mostrar Tarifas")
            print("Tarifa Automóvil:", tarifas[0])
            print("Tarifa Motocicleta:", tarifas[1])
            print("Tarifa Bicicleta:", tarifas[2])
#----------------------------------------------------------------------
        if opc == 3:
            tarifas = modificartarifas(tarifas)
        if opc == 4:
            return tarifas  
    
    menu_tarifas(tarifas)

#----------------------------------------------------------------------Menu Principal
def menu():
    global tarifas    
    opc = 1
    global lv
    global cf
    global cod
    
    
    while opc != 8:
        print()
        print("Menú Principal")
        print("1. Tarifas")
        print("2. Ingresar vehículo")
        print("3. Buscar vehículo")lv = []
tarifas = []
cf = 1
cod = 202301

# --------------------------------------------------Opción 7 “Cuadre de Caja”:
def cuadre_de_caja(lv):
    n = len(lv)
    
    total_salidas = 0

    for i in range(0,n):
        if lv[i][5] != 0:  # Verificar si el vehículo tiene hora de salida diferente de cero
            total_salidas = total_salidas + lv[i][7]  # Sumar el total a pagar de los vehículos que registraron salida

    print("\nTotal de los vehículos que registraron salida: ", total_salidas)
    menu()

#------------------------------------------------------------------Opción 6 “Buscar Factura”
def buscar_factura(lv):
    n = len(lv)
    factura_buscar = int(input("Ingrese el número de la factura a buscar: "))
    encontrado = False

    for i in range(0,n):
        if lv[i][4] == factura_buscar:
            encontrado = True
            print("\nInformación de la factura encontrada:")
            print("Factura No:", lv[i][4])
            print("Num Placa:", lv[i][0])
            print("Vehículo tipo:", lv[i][1])
            print("Hora de ingreso:", lv[i][2])
            print("Hora de salida:", lv[i][5])
            print("Nombre:", lv[i][3])
            print("Numero minutos:", lv[i][6])
            print("Total:", lv[i][7])
            break

    if not encontrado:
        print("No se encontró ninguna factura con ese número.")

    menu()

#-------------------------------------------------------------------------Opción 5 “Salida Vehículo”:
def salida_vehiculo(lv, tarifas):
    n = len(lv)
    tipo = input("Ingrese el tipo de vehículo (a: automóvil, m: moto, b: bicicleta): ")
    placa = input("Ingrese la placa del vehículo: ")
    hora_salida = int(input("Ingrese la hora de salida (formato 24h - hhmm): "))

    encontrado = False
    
    for i in range(0, n):        
        if lv[i][0] == placa and lv[i][1] == tipo:
            encontrado = True

            if hora_salida < lv[i][2]:
                print("Error: La hora de salida no puede ser menor que la hora de entrada.")
                salida_vehiculo(lv, tarifas)

            # Calcular los minutos de entrada y salida para obtener el tiempo de estacionamiento
            minutos_entrada = lv[i][2] // 100 * 60 + lv[i][2] % 100
            minutos_salida = hora_salida // 100 * 60 + hora_salida % 100
            tiempo_parqueadero = minutos_salida - minutos_entrada

            # Establecer el índice de tarifa según el tipo de vehículo
            indice_tarifa = 0
            if tipo == "m":
                indice_tarifa = 1
            elif tipo == "b":
                indice_tarifa = 2

            # Calcular la tarifa a pagar y el total a pagar
            tarifa = tarifas[indice_tarifa]
            total_pagar = tiempo_parqueadero * tarifa

            # Mostrar la información y actualizar los datos del vehículo
            print("\nFactura No:", lv[i][4])
            print("Tipo de vehículo:", lv[i][1])
            print("Placa:", lv[i][0])
            print("Hora de salida:", hora_salida)
            print("Número de minutos:", tiempo_parqueadero)
            print("Total a pagar:", total_pagar)

            lv[i][5] = hora_salida  # Actualizar hora de salida
            lv[i][6] = tiempo_parqueadero  # Actualizar tiempo de estancia
            lv[i][7] = total_pagar  # Actualizar total a pagar
            return lv

    if encontrado:  # Si se encontró el vehículo
        pass
    else:  # Si no se encontró el vehículo
        print("El vehículo no está registrado en el sistema.")        
        menu()


#---------------------------------------------------------Opción “4. Mostrar Registros”:
def mostrar_registros(lv):
    opc = 1
    n = len(lv)

    while opc > 0 and opc <= 4:
        print("\nSubmenú Mostrar vehículos:")
        print("1. Mostrar todos los automóviles")
        print("2. Mostrar todas las motocicletas")
        print("3. Mostrar todas las bicicletas")
        print("4. Regresar al menú principal")
        opc = int(input("Seleccione una opción: "))

        if opc == 1:
            print("\n--- Automóviles ---")
            print("Placa     Hora de Ingreso     Nombre    Factura No  Hora de Salida     Número de Minutos    Total")
            print("--------------------------------------------------------------------------------------------------------------")

            for i in range(n):
                if lv[i][1] == "a":
                    print(lv[i][0],"  ", lv[i][2],"              ", lv[i][3],"   ", lv[i][4],"          ", lv[i][5],"                ", lv[i][6],"                 ", lv[i][7])
                    print("------------------------------------------------------------------------------------------------------")

        elif opc == 2:  
            print("\n--- Motocicletas ---")
            print("Placa     Hora de Ingreso     Nombre    Factura No  Hora de Salida     Número de Minutos    Total")
            print("--------------------------------------------------------------------------------------------------------------")

            for i in range(n):
                if lv[i][1] == "m":
                    print(lv[i][0],"  ", lv[i][2],"              ", lv[i][3],"   ", lv[i][4],"          ", lv[i][5],"                ", lv[i][6],"                 ", lv[i][7])
                    print("------------------------------------------------------------------------------------------------------")

        elif opc == 3:  
            print("\n--- Bicicletas ---")
            print("Placa     Hora de Ingreso     Nombre    Factura No  Hora de Salida     Número de Minutos    Total")
            print("--------------------------------------------------------------------------------------------------------------")

            for i in range(n):
                if lv[i][1] == "b":
                    print(lv[i][0],"  ", lv[i][2],"              ", lv[i][3],"   ", lv[i][4],"          ", lv[i][5],"                ", lv[i][6],"                 ", lv[i][7])
                    print("------------------------------------------------------------------------------------------------------")

        
        elif opc == 4:
            menu()
            



#-----------------------------------------------------------Opción “3. Buscar vehículo” :
def buscarvehiculo(lv):
    n = len(lv)
    opc = 1

    while opc > 0 and opc <= 4:
        print("\nSubmenú Buscar:")
        print("1. Buscar motos")
        print("2. Buscar automóviles")
        print("3. Buscar bicicletas")
        print("4. Regresar al menú principal")
        opc = int(input("Seleccione una opción: "))

        if opc == 1:
            placa_buscar = input("Ingrese la placa de la moto a buscar: ")
            value = False  # Variable para controlar si se encontró algún vehículo

            for i in range(0,n):
                if lv[i][0] == placa_buscar and lv[i][1] == "m":  # Verifica la placa y el tipo de vehículo
                    value = True
                    print("\nInformación del vehículo encontrado:")
                    print("Factura No:", lv[i][4])  # Utiliza lv[i] para acceder a cada vehículo
                    print("Num Placa:", lv[i][0])
                    print("Vehículo tipo:", lv[i][1])
                    print("Hora de ingreso:", lv[i][2])
                    print("Hora de salida:", lv[i][5])
                    print("Nombre:", lv[i][3])
                    print("Numero minutos:", lv[i][6])
                    print("Total:", lv[i][7])

            if value == False:
                print("No se encontró ninguna moto con esa placa.")

        if opc == 2:
            placa_buscar = input("Ingrese la placa del automóvil a buscar: ")
            value = False  # Variable para controlar si se encontró algún vehículo

            for i in range(0,n):
                if lv[i][0] == placa_buscar and lv[i][1] == "a":  # Verifica la placa y el tipo de vehículo
                    value = True
                    print("\nInformación del vehículo encontrado:")
                    print("Factura No:", lv[i][4])  # Utiliza lv[i] para acceder a cada vehículo
                    print("Num Placa:", lv[i][0])
                    print("Vehículo tipo:", lv[i][1])
                    print("Hora de ingreso:", lv[i][2])
                    print("Hora de salida:", lv[i][5])
                    print("Nombre:", lv[i][3])
                    print("Numero minutos:", lv[i][6])
                    print("Total:", lv[i][7])
                    print("-------------------")

            if value == False:
                print("No se encontró ningún automóvil con esa placa.")

        if opc == 3:
            placa_buscar = input("Ingrese la placa de la bicicleta a buscar: ")
            value = False  # Variable para controlar si se encontró algún vehículo

            for i in range(n):
                if lv[i][0] == placa_buscar and lv[i][1] == "b":  # Verifica la placa y el tipo de vehículo
                    value = True
                    print("\nInformación del vehículo encontrado:")
                    print("Factura No:", lv[i][4])  # Utiliza lv[i] para acceder a cada vehículo
                    print("Num Placa:", lv[i][0])
                    print("Vehículo tipo:", lv[i][1])
                    print("Hora de ingreso:", lv[i][2])
                    print("Hora de salida:", lv[i][5])
                    print("Nombre:", lv[i][3])
                    print("Numero minutos:", lv[i][6])
                    print("Total:", lv[i][7])
                    print("-------------------")

            if value == False:
                print("No se encontró ninguna bicicleta con esa placa.")

        if opc == 4:
            menu()  
    
    
    

#---------------------------------------------------------Punto 2: Ingresar Vehiculo
def ingresarvehiculo(lv,cod,cf):
    n = len(lv)
    fila = []
    hora_salida = 0
    num_min = 0
    total = 0
    
    print("\nTipo de vehiculo a ingresar")
    tipo = input("Tipo de vehículo (a: automóvil, m: moto, b: bicicleta): ")

    if tipo == "b":
        placa = str(cod)
        cod += 1
    elif tipo == "a":
        placa = input("Placa del automóvil (3 letras seguidas de 3 números): ")        
    elif tipo == "m":
        placa = input("Placa de la moto (3 letras seguidas de 2 números y 1 letra): ")        
    
    # Validar si la placa ya existe
    if n > 0:
        for i in range(0,n):
            if lv[i][0] == placa:
                print("La placa ya está registrada")
                return ingresarvehiculo(lv,cod,cf)

    fila.append(placa)
        
    
    hora = int(input("Digite hora de ingreso (formato 24h - hhmm): "))
    hh = hora // 100
    mm = hora % 100

    while hora < 0 or hh >= 24 or mm >= 60:
        print("Formato de hora invalido")
        hora = int(input("Digite hora de ingreso (formato 24h - hhmm): "))
        hh = hora // 100
        mm = hora % 100
    
    nombre = input("Nombre del cliente: ")        
    
    fila.append(tipo)
    fila.append(hora)
    fila.append(nombre)
    fila.append(cf)
    fila.append(hora_salida)
    fila.append(num_min)
    fila.append(total)
    lv.append(fila)
    return lv,cod,cf

#----------------------------------------------------------------------Opción 3 “Modificar Tarifas”:
def modificartarifas(tarifas):
    opc = 1
    while opc > 0 and opc < 5:
        print("\nOpciones con Tarifas")
        print("1. Modificar Tarifa de Automóvil")
        print("2. Modificar Tarifa de Motocicleta")
        print("3. Modificar Tarifa de Bicicleta")        
        print("4. Regresar al menú principal")

        opc = int(input("Seleccione una opción: "))

        if opc == 1:
            t1 = float(input("Ingrese el valor a cobrar por minuto para automóviles: "))
            tarifas[0] = t1            
        elif opc == 2:
            t2 = float(input("Ingrese el valor a cobrar por minuto para motocicletas: "))
            tarifas[1] = t2
        elif opc == 3:
            t3 = float(input("Ingrese el valor a cobrar por minuto para bicicletas: "))
            tarifas[2] = t3
        elif opc == 4:            
            return tarifas
        else:
            print("\nOpción inválida. Por favor, seleccione una opción válida.")
            print("")
            modificartarifas(tarifas)



#-------------------------------------------------------------------Opción 1 “Ingresar Tarifas”:
def ingresar_tarifas(tarifas):
    opc = 1
    while opc > 0 and opc < 5:
        print()
        print("Opciones con Tarifas")
        print("1. Ingresar Tarifa de Automóvil")
        print("2. Ingresar Tarifa de Motocicleta")
        print("3. Ingresar Tarifa de Bicicleta")
        print("4. Regresar al sub Menú Tarifas")

        opc = int(input("Seleccione una opción: "))

        if opc == 1:
            t1 = float(input("Ingresa el valor a cobrar por minuto para automóviles: "))
            tarifas.append(t1)
        if opc == 2:
            t2 = float(input("Ingresa el valor a cobrar por minuto para motocicletas: "))
            tarifas.append(t2)
        if opc == 3:
            t3 = float(input("Ingresa el valor a cobrar por minuto para bicicletas: "))
            tarifas.append(t3)
        if opc == 4:
            return tarifas  
    
    ingresar_tarifas(tarifas)



#----------------------------------------------------------------------Opción “1. Tarifas”:
def menu_tarifas(tarifas):
    opc = 1    
    while opc > 0 and opc < 5:        
        print("\nTarifas")
        print("1. Ingresar Tarifas")
        print("2. Mostrar Tarifas")
        print("3. Modificar Tarifas")
        print("4. Regresar al Menú principal")

        opc = int(input("Seleccione una opción: "))

        if opc == 1:
            tarifas = ingresar_tarifas(tarifas)
#----------------------------------------------------------------------Opción 2 “Mostrar Tarifas”:
        if opc == 2:
            print()
            print("Mostrar Tarifas")
            print("Tarifa Automóvil:", tarifas[0])
            print("Tarifa Motocicleta:", tarifas[1])
            print("Tarifa Bicicleta:", tarifas[2])
#----------------------------------------------------------------------
        if opc == 3:
            tarifas = modificartarifas(tarifas)
        if opc == 4:
            return tarifas  
    
    menu_tarifas(tarifas)

#----------------------------------------------------------------------Menu Principal
def menu():
    global tarifas    
    opc = 1
    global lv
    global cf
    global cod
    
    
    while opc != 8:
        print()
        print("Menú Principal")
        print("1. Tarifas")
        print("2. Ingresar vehículo")
        print("3. Buscar vehículo")
        print("4. Mostrar Registros")
        print("5. Salida vehículo")
        print("6. Buscar Factura")
        print("7. Cuadre de Caja")
        print("8. Salir")
        opc = int(input("Seleccione una opción: "))

        if opc == 1:
            tarifas = menu_tarifas(tarifas)
        if opc == 2:
            lv, cod, cf = ingresarvehiculo(lv, cod, cf)
            
            cf = cf + 1
        if opc == 3:
            buscarvehiculo(lv)
        if opc == 4:
            mostrar_registros(lv)
        if opc == 5:
            lv = salida_vehiculo(lv, tarifas)
        if opc == 6:
            buscar_factura(lv)
        if opc == 7:
            cuadre_de_caja(lv)
            
    print()
    if opc == 8:
        print("Fue un placer ayudarte. ¡Adiós!")        
    else:
        print("¡Error! Debes elegir una opción entre 1 y 8!")
        menu()    

menu()

Add a Comment

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *