import time

empleados = []
with open ("Aguascalientes.txt","r") as archivo:
    next (archivo)
    for linea in archivo:
        datos = linea.strip().split("\t")
        if len(datos) > 10:
            
            empleado = {
                "id": int(datos[0]),
                "nombre": datos [3]+ "" + datos[4]+ "" + datos[5],
                :"sueldo": float(datos[9])
            }
            empleados.append(empleado)
            
# Ordenacion por ID
empleados.sort(key=lambda x: x["id"])
    print ("Datos guardados")
    print ("Total de registros:", len(empleados))

#Busqueda secuencial
def busqueda_secuencial(lista, id_buscar):
    condiciones=0
    inicio= time.perf_counter()
        for empleado in lista:
            condiciones +=1
            if empleado ["id"] == id_buscar:
                fin = time.perf_counter()
                
            return{
                "encontrado": True,
                "nombre": empleado["nombre"],
                "sueldo": empleado["sueldo"],
                "condiciones":condiciones,
                "tiempo": fin - inicio
            }
            
        fin = time.perf_counter()

        return {
            "encontrado": false,
            "condiciones":condiciones,
            "tiempo": fin - inicio
        }

#Busqueda binaria
def busqueda_binaria(lista,id_buscar):
    izquierda =0
    derecha = len(lista) - 1
    condiciones = 0

inicio = time.perf_counter()

while izquierda <= derecha:
        condiciones += 1
        medio = (izquierda + derecha)// 2
    
        if lista[medio]["id"] == id_buscar:
            fin = time.perf_counter()

    return {
        "encontrado": True,
        "nombre": lista[medio]["nombre"],
        "sueldo": lista[medio]["sueldo"],
        "condiciones":condiciones,
        "tiempo": fin - inicio
    }

        elif lista [medio]["id"] < id_buscar:
            izquierda = medio + 1

        else:
            derecha = medio -1

        fin = time.perf_counter()

        return {
        "encontrado": False,
        "condiciones": condiciones,
        "tiempo": fin - inicio
        }


#Programa:

while True:
    print("\nBusqueda de empleados")
    id_usuario = int(input("Ingrese un ID:"))

# Para la busqueda secuencial:
    resultado_sec = busqueda_secuencial(empleados,id_usuario)
    print("\nBusqueda secuencial")
        if resultado_sec["encontrado"]:
            print("nombre: ",resultado_sec["nombre"])
            print("sueldo: ",resultado_sec["sueldo"])

        else:
            print("El empleado no se encontró")

    print("Condiciones aplicadas", resultado_sec["condiciones"])
    print("Tiempo", resultado_sec["tiempo"], "segundos")


# Para la busqueda binaria:
    resultado_bin = busqueda_binaria(empeados,id_usuario)
    print("\nBusqueda binaria")
        if resultado_bin["encontrado"]:
            print("nombre: ",resultado_bin["nombre"])
            print("sueldo: ",resultado_bin["sueldo"]) 

        else:
            print("El empleado no se encontró")

    print("Condiciones aplicadas", resultado_bin["condiciones"])
    print("Tiempo", resultado_bin["tiempo"], "segundos")

    continuar = input("\nDesea realizar otra búsqueda? SI / NO")
    if continuar.lower() !="s":
        break

Embed on website

To embed this program on your website, copy the following code and paste it into your website's HTML: