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()

Diego Lozano

Estudiante de sistemas, con experiencia por mas de un año en funciones relacionadas con soporte técnico, redes, ofimática, mantenimiento de computadores, instalación de redes de computo, conocimientos avanzados de Excel y manejo de sistemas de información.

Deja una respuesta