Пример #1
0
def DVader():
    legion = ['FL', ' TF', 'TK', 'CT', 'FN', 'FO']
    tablaL = crear_tabla(10)
    tablaC = crear_tabla(1500)

    for i in range(1500):
        legion = choice(legion)
        cod = randint(1000, 5000)
        st = Stormtroopers(legion, cod)
    agregar_ta(tablaL, bernstein_st, st, 'legión')
    agregar_ta(tablaC, hash_division_st, st, 'código')
    print('Sormtroopers ordenados por legion: ')
    barrido_ta(tablaL)
    print('Stormtroopers ordenados por código: ')
    barrido_ta(tablaC)
    pos = hash_division(537, tablaC)
    if tablaC[pos]:
        print('Stormtrooper designados para una misión de exploración')
        barrido_lista(tablaC[pos])
    print()
    pos = hash_division(781, tablaC)
    if tablaC[pos]:
        print('Stormrooper designados para una misión de asalto')
        barrido_lista(tablaC[pos])
    print()
    posl = bernstein('FN', tablaL)
    if tablaL[posl]:
        print('Stormroopers de la Legión FN')
        barrido_lista(tablaL[posl])
    print()
    posl = bernstein('CT', tablaL)
    if tablaL[posl]:
        print('Stormtroopers de la Legión CT')
        barrido_lista(tablaL[posl])
Пример #2
0
def mensajes_cifrados():
    tabla = crear_tabla(10)
    tabla_aux = crear_tabla(10)

    def desifrar(dato):
        dic = {'#?&': '0','abc': '1','def':'2','ghi':'3','jkl':'4','mnñ':'5','opq':'6','rst':'7','uvw':'8','xyz':'9'}
        cadena = ''
        for i in range (0, len(dato), 3):
            cadena += dic[dato[i:i+3]]
        return chr(int(cadena))

    def cifrar(dato):
        valor = str(ord(dato))
        valor_cirado = ['#?&','abc','def','ghi','jkl','mnñ','opq','rst','uvw','xyz']
        cadena = ''
        for num in valor:
            numInt = int(num)
            cadena += valor_cirado[numInt]
        cadena += "%"
        return cadena

    a = 'El hombre adecuado en el sitio equivocad0 puede cambiar el rumbo del mundo. Despierte, Sr. Freeman. Despierte y mire a su alrededor.'
    a_cifrado = ''

    print('Mensaje a cifrar:')
    print(a)
    print()

    # cifrando
    for letra in a:
        valor = buscar_ta(tabla, hash_diccionario, Palabra(letra, ''), 'palabra')
        cifrado = ''
        if valor is None:
            cifrado = cifrar(letra)
            palabra = Palabra(letra, cifrado)
            agregar_ta(tabla, hash_diccionario, palabra, 'palabra')
        else:
            cifrado = valor.info.significado
        a_cifrado += cifrado
    print('Mensaje cifrado:')
    print(a_cifrado)
    print()

    lista = a_cifrado.split('%')
    lista.pop()

    # desifrando
    msj = ''
    for letras in lista:
        valor = buscar_ta(tabla_aux, bernstein_palabra, Palabra(letras, ''), 'palabra')
        decifrado = ''
        if valor is None:
            decifrado = desifrar(letras)
            palabra = Palabra(letras, decifrado)
            agregar_ta(tabla_aux, bernstein_palabra, palabra, 'palabra')
        else:
            decifrado = valor.info.significado
        msj += decifrado
    print('Mensaje decifrado')
    print(msj)
Пример #3
0
def guia_telefono():
    tabla = crear_tabla(20)
    guiatel = Guia_Tel(randint(400000, 499999), 'Juan Fernando', 'Quintero', 'Bogota 543')
    agregar_ta(tabla, hash_division_guiatel, guiatel, 'numero')
    guiatel = Guia_Tel(randint(400000, 499999), 'Marcelo', 'Gallardo', 'Figueroa Alcorta 57')
    agregar_ta(tabla, hash_division_guiatel, guiatel, 'numero')
    guiatel = Guia_Tel(randint(400000, 499999), 'Gonzalo', 'Martínez', 'Madrid 912')
    agregar_ta(tabla, hash_division_guiatel, guiatel, 'numero')
    guiatel = Guia_Tel(randint(400000, 499999), 'Rodolfo', 'D´Onofrio', 'Dubai 2142')
    agregar_ta(tabla, hash_division_guiatel, guiatel, 'numero')
    print('NUMERO DE TELEFONO | NOMBRE | APELLIDO | DIRECCION')
    barrido_ta(tabla)
Пример #4
0
def imperio_galactico():
    tabla_legion = crear_tabla(10)
    tabla_codigos = crear_tabla(1000)
    legiones = ['FL', 'TF', 'TK', 'CT', 'FN', 'FO']
    # a
    for i in range(2000):
        legion = choice(legiones)
        codigo = randint(1000, 9999)
        trooper = Stormtroopers(legion, codigo)
        agregar_ta(tabla_legion, bernstein_troopers, trooper, 'legion')
        agregar_ta(tabla_codigos, hash_division_troopers, trooper, 'codigo')
    # b
    print('Troopers ordenados por legion')
    barrido_ta(tabla_legion)
    print()
    print('Troopers ordenados por código')
    barrido_ta(tabla_codigos)
    print()
    # c
    posc = hash_division(537, tabla_codigos)
    if tabla_codigos[posc]:
        print('Trooper designados para una misión de exploración')
        barrido_lista(tabla_codigos[posc])
    print()
    posc = hash_division(781, tabla_codigos)
    if tabla_codigos[posc]:
        print('Trooper designados para una misión de asalto')
        barrido_lista(tabla_codigos[posc])
    print()
    # d
    posl = bernstein('FN', tabla_legion)
    if tabla_legion[posl]:
        print('Troopers de la Legión FN')
        barrido_lista(tabla_legion[posl])
    print()
    posl = bernstein('CT', tabla_legion)
    if tabla_legion[posl]:
        print('Troopers de la Legión CT')
        barrido_lista(tabla_legion[posl])
Пример #5
0
def guia_telefono():
    tabla = crear_tabla(20)
    guiatel = Guia_Tel(randint(400000, 499999), 'Genaro', 'Arijon',
                       'Parana 234')
    agregar_ta(tabla, hash_division_guiatel, guiatel, 'numero')
    guiatel = Guia_Tel(randint(400000, 499999), 'Federico', 'Gonzalez',
                       'Rpublica de Libano')
    agregar_ta(tabla, hash_division_guiatel, guiatel, 'numero')
    guiatel = Guia_Tel(randint(400000, 499999), 'Nahuel', 'Mani', 'Barrio 150')
    agregar_ta(tabla, hash_division_guiatel, guiatel, 'numero')
    guiatel = Guia_Tel(randint(400000, 499999), 'Pedro', 'Fister',
                       '9 de julio 42')
    agregar_ta(tabla, hash_division_guiatel, guiatel, 'numero')
    print('NUMERO DE TELEFONO | NOMBRE | APELLIDO | DIRECCION')
    barrido_ta(tabla)
Пример #6
0
def diccionario(tabla):
    palabra = Palabra('danzar', 'Bailar al ritmo de una música')
    agregar_ta(tabla, hash_diccionario, palabra, 'palabra')
    palabra = Palabra('ballena', 'Animal mamífero marino')
    agregar_ta(tabla, hash_diccionario, palabra, 'palabra')
    palabra = Palabra('madriguera',
                      'Cueva donde viven y se esconden algunos animales')
    agregar_ta(tabla, hash_diccionario, palabra, 'palabra')
    palabra = Palabra('felicidad', 'Sentimiento de alegría o satisfacción')
    agregar_ta(tabla, hash_diccionario, palabra, 'palabra')
    barrido_ta(tabla)

    #b. determinar si una palabra existe y mostrar su significado
    pos = buscar_ta(tabla, hash_diccionario, Palabra('Hola', ''), 'palabra')
    if (pos is not None):
        print('Palabra', pos.info.palabra, 'significado', pos.info.significado)
    print()

    #c. borrar una palabra del diccionario;
    print('Elemento eliminado:',
          quitar_ta(tabla, hash_diccionario, Palabra('Hielo', ''), 'palabra'))
    barrido_ta(tabla)
Пример #7
0
def diccionario():
    tabla = crear_tabla(26)

    # a
    palabra = Palabra('Hola', 'Es un saludo')
    agregar_ta(tabla, hash_diccionario, palabra, 'palabra')
    palabra = Palabra('Hielo', 'Agua congelada')
    agregar_ta(tabla, hash_diccionario, palabra, 'palabra')
    palabra = Palabra('Arbol', 'Parte de la naturaleza')
    agregar_ta(tabla, hash_diccionario, palabra, 'palabra')
    print(tabla)
    barrido_ta(tabla)
    print()

    # b
    pos = buscar_ta(tabla, hash_diccionario, Palabra('Hola', ''), 'palabra')
    if(pos is not None):
        print('Palabra', pos.info.palabra, 'significado', pos.info.significado)
    print()

    # c
    print('Elemento eliminado:', quitar_ta(tabla, hash_diccionario, Palabra('Hielo', ''), 'palabra'))
    barrido_ta(tabla)
Пример #8
0
def sms_cifrados():
    tabla = crear_tabla(10)
    tabla_aux = crear_tabla(10)

    def desifrar_sms(dato):
        dic = {
            '#?&': '0',
            'abc': '1',
            'def': '2',
            'ghi': '3',
            'jkl': '4',
            'mnñ': '5',
            'opq': '6',
            'rst': '7',
            'uvw': '8',
            'xyz': '9'
        }
        cad = ''
        for i in range(0, len(dato), 3):
            cad += dic[dato[i:i + 3]]
        return chr(int(cad))

    def cifrar_sms(dato):
        val = str(ord(dato))
        val_cirado = [
            '#?&', 'abc', 'def', 'ghi', 'jkl', 'mnñ', 'opq', 'rst', 'uvw',
            'xyz'
        ]
        cad = ''
        for num in valor:
            num_ent = int(num)
            cad += val_cirado[num_ent]
        cad += "%"
        return cad

    mensaje = 'El amor y el odio, son dos lados de una misma cuchilla. –Jacqueline Carey.'
    mensaje_cifrado = ''

    print('Mensaje a cifrar: ')
    print(mensaje)
    print()

    for letra in mensaje:
        valor = buscar_ta(tabla, hash_diccionario, Palabra(letra, ''),
                          'palabra')
        cifrado = ''
        if valor is None:
            cifrado = cifrar_sms(letra)
            palabra = Palabra(letra, cifrado)
            agregar_ta(tabla, hash_diccionario, palabra, 'palabra')
        else:
            cifrado = valor.info.significado
        mensaje_cifrado += cifrado
    print('Mensaje cifrado:')
    print(mensaje_cifrado)
    print()

    lista = mensaje_cifrado.split('%')
    lista.pop()

    sms = ''
    for letras in lista:
        valor = buscar_ta(tabla_aux, bernstein_palabra, Palabra(letras, ''),
                          'palabra')
        decifrado = ''
        if valor is None:
            decifrado = desifrar_sms(letras)
            palabra = Palabra(letras, decifrado)
            agregar_ta(tabla_aux, bernstein_palabra, palabra, 'palabra')
        else:
            decifrado = valor.info.significado
        sms += decifrado
    print('El mensaje ha sido decifrado')
    print(sms)