Пример #1
0
def personajes_sw():
    tabla = crear_tabla(20)
    personajes = ['Darth Vader', 'Luke Skywalker', 'Chewbacca', 'Yoda', 'R2D2', 'Jabba el Hutt',
                  'Obi-Wan Keobi', 'Han Solo', 'C3PO', 'Leia Organa', 'Rey', 'Poe Dameron',
                  'Finn', 'Lando Calrissian', 'Jabba el Hutt', 'Boba Fett', 'Jawa', 'Darth Maul',
                  'Anakin Skywalker', 'Bobba Fett', 'Jar Jar Binks', 'Darth Sidious', 'Kylo Ren',
                  'Obi-Wan Kenobi', 'Greddo', 'Wilhuff Tarkin', 'Owen Lars', 'Breha Organa']
    pos = 0
    for i in range(0, len(personajes)):
        nom = personajes[pos]
        dato_sw = Personaje(nom)
        agregar_tc(tabla, bernstein_star_wars, dato_sw)
        pos += 1
    print('Tabla de personajes de Star Wars con', len(tabla), 'posiciones')
    barrido_tc(tabla)

    # porcentaje de personajes cargados
    porc_tabla = (cantidad_tc(tabla)*100)/len(tabla)
    print('Porcentaje usado de la tabla', porc_tabla)
    print()

    if porc_tabla > 75:
        print('El factor de carga de la tabla supero el 75%. Haciendo rehashing...')
        nueva_tabla = crear_tabla(len(tabla)*2)
        for dato in tabla:
            if dato is not None:
                agregar_tc(nueva_tabla, bernstein_star_wars, dato)
        print('Nueva tabla con', len(nueva_tabla), 'posiciones')
        barrido_tc(nueva_tabla)
        porc_nueva_tabla = (cantidad_tc(nueva_tabla)*100)/len(nueva_tabla)
        print('Porcentaje usado de la nueva tabla', porc_nueva_tabla)
    else:
        print('El porcentaje de la tabla es menor a 75%')
Пример #2
0
def administrar_contactos():
    tabla = crear_tabla(30)
    crear_contacto = Contacto('Victoria', 'Gimenez', '*****@*****.**')
    agregar_tc(tabla, hash_division_contacto, crear_contacto)
    crear_contacto = Contacto('Sofia', 'Hidalgo', '*****@*****.**')
    agregar_tc(tabla, hash_division_contacto, crear_contacto)
    crear_contacto = Contacto('Rocio', 'Suarez', '*****@*****.**')
    agregar_tc(tabla, hash_division_contacto, crear_contacto)
    crear_contacto = Contacto('Carlos', 'Vives', '*****@*****.**')
    agregar_tc(tabla, hash_division_contacto, crear_contacto)
    print('NOMBRE | APELLIDO | CORREO ELECTRÓNICO')
    barrido_tc(tabla)
Пример #3
0
def contactos_personas():
    tabla = crear_tabla(20)
    datos = Contacto('Gordon', 'Freeman', '*****@*****.**')
    agregar_tc(tabla, bernstein_contactos, datos)
    datos = Contacto('Barney', 'Calhoun', '*****@*****.**')
    agregar_tc(tabla, bernstein_contactos, datos)
    datos = Contacto('Alyx', 'Vance', '*****@*****.**')
    agregar_tc(tabla, bernstein_contactos, datos)
    datos = Contacto('Eli', 'Vance', '*****@*****.**')
    agregar_tc(tabla, bernstein_contactos, datos)
    datos = Contacto('Isaac', 'Kleiner', '*****@*****.**')
    agregar_tc(tabla, bernstein_contactos, datos)
    print('NOMBRE | APELLIDO | CORREO ELECTRÓNICO')
    barrido_tc(tabla)
Пример #4
0
def tabla_pokemon():
    tabla = crear_tabla(50)
    nombres = ['Bulbasaur', 'Charmander', 'Squirtle', 'Pikachu', 'Spearow',
               'Dugtrio', 'Primeape', 'Terrakion', 'Tyrantrum', 'Golbat']
    tipos = ['Planta', 'Fuego', 'Agua', 'Eléctrico', 'Volador', 
             'Tierra',  'Lucha', 'Roca', 'Dragón', 'Veneno']
    pos = 0
    for i in range(len(nombres)):
        nom = nombres[pos]
        tip = tipos[pos]
        pokemon = Pokemon(randint(1, 999), nom, tip, randint(1, 50))
        agregar_tc(tabla, bernstein_pokemones, pokemon)
        pos += 1
    print('NUMERO | NOMBRE | TIPO | NIVEL')
    barrido_tc(tabla)
Пример #5
0
def catedras_universidad():
    tabla = crear_tabla(25)
    modalidad = ['Anual', 'Cuatrimestral']
    profe = ['Ing. Rodríguez', 'Prof. Gómez', 'Lic. García', 'Dr. Nuñez']
    catedra = Catedras(randint(1, 1000), 'Algorimtos y Estr. de Datos', choice(modalidad), randint(4, 8), choice(profe))
    agregar_tc(tabla, hash_division_catedra, catedra)
    catedra = Catedras(randint(1, 1000), 'Base de Datos', choice(modalidad), randint(4, 8), choice(profe))
    agregar_tc(tabla, hash_division_catedra, catedra)
    catedra = Catedras(randint(1, 1000), 'Prog. Orientada a Objetos', choice(modalidad), randint(4, 8), choice(profe))
    agregar_tc(tabla, hash_division_catedra, catedra)
    catedra = Catedras(randint(1, 1000), 'Diseño UX/UI', choice(modalidad), randint(4, 8), choice(profe))
    agregar_tc(tabla, hash_division_catedra, catedra)
    catedra = Catedras(randint(1, 1000), 'Analisis Matemático', choice(modalidad), randint(4, 8), choice(profe))
    agregar_tc(tabla, hash_division_catedra, catedra)
    print('CODIGO | CATEDRA | MODALIDAD | CANT. HORAS | DOCENTE')
    barrido_tc(tabla)
Пример #6
0
def carrera_u():
    tabla = crear_tabla(50)
    cargar_catedra = Catedra('Matematica Disccreta', 'Anual', '120 horas',
                             'Marisa Romero', 100)
    agregar_tc(tabla, hash_division_catedra, cargar_catedra)
    cargar_catedra = Catedra('Calcuo', 'Anuela', ' 130 horas',
                             'Silvina y Susana', 108)
    agregar_tc(tabla, hash_division_catedra, cargar_catedra)
    cargar_catedra = Catedra('Algebra', 'Anual', '145 horas',
                             'Eugenia y Jesica', 109)
    agregar_tc(tabla, hash_division_catedra, cargar_catedra)
    cargar_catedra = Catedra('Ecuaciones diferenciales y calculo',
                             'Cuatrimestral :C', '50', 'Julio, Silvina', 106)
    agregar_tc(tabla, hash_division_catedra, cargar_catedra)
    print(
        ' Nombre de la catedra  -   Modalidad   -   Horas -  Docente   - Codigo '
    )
    barrido_tc(tabla)
Пример #7
0
def tabla_pokemon():
    tabla = crear_tabla(1000)
    nombres = [
        'Groudon', 'Mew', 'Dialga', 'Palkia', 'Giratina', 'Darkrai', 'Kyogre',
        'Xerneas', ' Manaphy', 'Phione', 'El trio del lago',
        'Kyogre Primigenio', 'Kyurem', 'Reshiram', 'Zekrom'
    ]
    tipo = [
        'Tierra', 'Psiquico', 'Acero/Dragón', 'Agua/Dragon', 'Fantasma/Dragon',
        'Siniestro', 'Agua', 'Hada', 'Agua', 'Agua', 'Psiquico', 'Agua',
        'Dragón/Hielo', 'Dragón/Fuego', 'Dragón/Eléctrico'
    ]
    posicion = 0
    for i in range(len(nombres)):
        nom = nombres[posicion]
        tip = tipo[posicion]
        pokemon = Pokemon(randint(1, 500), nom, tip, randint(1, 60))
        agregar_tc(tabla, bernstein_pokemones, pokemon)
        posicion += 1

    print('Numero | Nombre | Tipo | Nivel')
    barrido_tc(tabla)
Пример #8
0
def sw():
    tabla = crear_tabla(20)
    personajes = [
        'Darth Vader', 'Luke Skywalker', 'Chewbacca', 'Yoda', 'R2D2',
        'Obi-Wan Keobi', 'Han Solo', 'C3PO', 'Rey', 'Finn', 'Leia Organa',
        'Jabba el Hutt', 'Jawa', 'Darth Maul', 'Bobba Fett', 'Jar Jar Binks',
        'Darth Sidious', 'Kylo Ren', 'Obi-Wan Kenobi', 'Greddo'
    ]
    pos = 0

    for i in range(0, len(personajes)):
        nombre = personajes[pos]
        dato = Personaje(nombre)
        agregar_tc(tabla, bernstein_star_wars, dato)
        pos += 1

    print('Tabla de personajes de Star Wars tiene ', len(tabla), ' posiciones')
    barrido_tc(tabla)

    porcentaje = (cantidad_tc(tabla) * 100) / len(
        tabla)  # porcentaje de personajes ingresados en la tabla
    print('El porcentaje usado de la tabla es de: ', porcentaje)
    print()

    if porcentaje > 75:
        print('La carga ha superado el 75%. REHASHING:')
        tabla_duplicada = crear_tabla(len(tabla) * 2)
        for dato in tabla:
            if dato is not None:
                agregar_tc(tabla_duplicada, bernstein_star_wars, dato)
        print('La nueva tabla tine :', len(tabla_duplicada), 'posiciones')
        barrido_tc(tabla_duplicada)
        porcentaje_tabla_duplicada = (cantidad_tc(tabla_duplicada) *
                                      100) / len(tabla_duplicada)
        print('Porcentaje usado en la tabla duplicada ',
              porcentaje_tabla_duplicada)