Exemplo n.º 1
0
def proyecto_software(lista):
    aux = lista.inicio
    lista_actividades = Lista()
    tareas_entre_fechas = Lista()
    costo = 0
    sum_tiempo = 0
    fecha1 = time.strftime("11/3/2019")
    fecha2 = time.strftime("14/11/2019")
    c = 0
    persona = input('Ingrese una persona para ver activiades realizadas: ')
    while (aux is not None):
        sum_tiempo = sum_tiempo + aux.info[2]
        c += 1
        costo = costo + aux.info[1]
        if aux.info[4] == persona:
            insertar(lista_actividades, aux.info[0])
        if time.strftime(aux.info[3]) >= fecha1 and time.strftime(
                aux.info[3]) <= fecha2:
            insertar(tareas_entre_fechas, aux.info)
        aux = aux.sig
    print("Actiividades realizadas por ", persona)
    barridoLista(lista_actividades)
    print("Tareas realizadas entre ", fecha1, " y ", fecha2)
    barridoLista(tareas_entre_fechas)
    prom_tiempo = sum_tiempo / c
    print("Tiempo promedio de las tareas: ", prom_tiempo)
Exemplo n.º 2
0
def productos(lista):
    lista_aux = Lista()
    calificacion_3 = Lista()
    productos_h = Lista()
    prod = input('Ingrese el producto: ')
    aux = lista.inicio
    while (aux is not None):
        if aux.info[0] == prod:
            print('Datos del producto: ')
            print(aux.info)
        if aux.info[2] == 3:
            insertar(calificacion_3, aux.info, 1)
        if aux.info[0][0] == 'h' or aux.info[0][0] == 'H':
            insertar(productos_h, aux.info)
        aux = aux.sig

    campo = input(
        'Para ordenar por nombre ingrese 0; Para ordenar por calificacion ingrese 2: '
    )
    aux = lista.inicio
    while (aux is not None):
        insertar(lista_aux, aux.info, campo)
        aux = aux.sig
    if campo == '0':
        print('Lista ordenada por nombre: ')
        barridoLista(lista_aux)
    elif campo == '2':
        print('Listado ordenado por calificacion: ')
        barridoLista(lista_aux)
    else:
        print('ERROR!')
    print('Producto mas barato de calificacion 3: ',
          calificacion_3.inicio.info)
    print('Precio de los productos que empiezan con H: ')
    barridoLista(productos_h)
Exemplo n.º 3
0
def local_informatica(lista_stock, lista_proveedores):
    lista_disco_solido = Lista()
    lista_teclado_inalambrico = Lista()
    lista_aux = Lista()
    lista_aux1 = Lista()
    aux_proveedores = lista_proveedores.inicio
    aux_stock = lista_stock.inicio
    while (aux_proveedores is not None):
        encontrado = False
        while (aux_stock is not None) and (encontrado is False):
            if (aux_proveedores.info[0] == aux_stock.info[0]):
                aux_stock.info[5] = aux_stock.info[5] + aux_proveedores.info[5]
                encontrado = True
            aux_stock = aux_stock.sig
        if encontrado is False:
            insertar(lista_stock, aux_proveedores.info)
        aux_proveedores = aux_proveedores.sig
    aux_stock = lista_stock.inicio
    while (aux_stock is not None):
        if (aux_stock.info[1] == 'Pendrive') and (aux_stock.info[2]
                                                  == 'Kingston'):
            eliminar(lista_stock, aux_stock.info)
        if (aux_stock.info[1] == 'Disco solido'):
            insertar(lista_disco_solido, aux_stock.info)
        elif aux_stock.info[1] == 'Teclado inalambrico':
            insertar(lista_teclado_inalambrico, aux_stock.info)
        aux_stock = aux_stock.sig

    aux_disco_solido = lista_disco_solido.inicio
    aux_teclado_inalambrico = lista_teclado_inalambrico.inicio
    costo_disco_solido = 0
    costo_teclado_inalambrico = 0
    while (aux_disco_solido is not None) or (aux_teclado_inalambrico
                                             is not None):
        costo_disco_solido = costo_disco_solido + (aux_disco_solido.info[4] *
                                                   aux_disco_solido.info[5])
        costo_teclado_inalambrico = costo_teclado_inalambrico + (
            aux_teclado_inalambrico.info[4] * aux_teclado_inalambrico.info[5])
        aux_disco_solido = aux_disco_solido.sig
        aux_teclado_inalambrico = aux_teclado_inalambrico.sig

    aux_stock = lista_stock.inicio
    while (aux_stock is not None):
        insertar(lista_aux, aux_stock.info, 1)
        insertar(lista_aux1, aux_stock.info, 2)
        aux_stock = aux_stock.sig
    print('------------------------------------------------------------')
    print("Listado ordenado por tipo: ")
    barridoLista(lista_aux)
    print('------------------------------------------------------------')
    print("Listado ordenado por marca: ")
    barridoLista(lista_aux1)
    print('------------------------------------------------------------')
    print('Costo de existencia del disco solido: ', costo_disco_solido)
    print('Costo de existencia del teclado inalambrico: ',
          costo_teclado_inalambrico)
    print('------------------------------------------------------------')
    barridoLista(lista_stock)
Exemplo n.º 4
0
def proyecto_sW():
    proyecto = Lista()
    a_tiempo = Lista()
    fuera_de_tiempo = Lista()
    personal = ['Milagros', 'Fiamaa', 'Lujan', 'Raul', 'Pamela', '']
    actividades = ['Recopilar informacion','Estudio de factibilidad','Planificacion','Analisar la informacion','Codificar el sistema','Probar el sistema','Instalacion Sw']
    prom = 0
    costo_total = 0
    for i in range(len(personal)):
        costo = randint(0, 50000)
        tiempo_ejecucion = randint(1, 10)
        fecha_inicio = [ randint(1, 31), randint(1, 12),2020]
        fecha_estimada = [ randint(1, 31), randint(1, 12),2020]
        fechaF_efectiva = [ randint(1, 31), randint(1, 12),2020]
        persona_cargo = choice(personal)
        actividad = actividades[i]
        tareas = [costo,actividad, tiempo_ejecucion, fecha_inicio, fecha_estimada, fechaF_efectiva, persona_cargo]
        insertar(proyecto, tareas)
    print()
    print('Lista con actividades:')
    barrido_lista(proyecto)
    aux = proyecto.inicio
    print()
    while aux is not None:
        # A
        prom = prom + aux.info[2]
        # B
        costo_total = costo_total + aux.info[0]
        # C
        if aux.info[5]:
            print('Persona:',aux.info[6])
            print('Actividades que realiza:',aux.info[1])
            print('Costo de la actividad:',aux.info[0])
            print('Tiempo de ejecucion:',aux.info[2])
            print()
        if aux.info[2] < 7:
            insertar(a_tiempo,aux.info[1])
        else:
            insertar(fuera_de_tiempo,aux.info[1])
        aux = aux.sig
    # D
    fecha1 = [1,2,2020] 
    fecha2 = [25,4,2020]
    print()
    print('Actividades entre '+ str(fecha1) + ' y '+ str(fecha2))
    aux = proyecto.inicio
    while aux is not None:
        if fecha1 < aux.info[5] and fecha2 > aux.info[5]:
            print(aux.info[1])
        aux = aux.sig   
    print()
    print('Tareas que se realizaron a tiempo: ')
    barrido_lista(a_tiempo)
    print()
    print('Tareas que se realizaron fuera de tiempo: ')
    barrido_lista(fuera_de_tiempo)
Exemplo n.º 5
0
def diccionario(palabra, significado, tabla):
    dato = [palabra, significado]
    aux = hash_palabra(palabra)
    if tabla[aux] is None:
        lista = Lista()
        insertar(lista, dato)
        tabla[aux] = lista
    else:
        insertar(tabla[aux], dato)
Exemplo n.º 6
0
def concatenarlistas(lista1, lista2):
    conc = Lista()
    conc = lista1
    aux = conc.inicio
    while aux.sig is not None:
        aux = aux.sig
        aux.sig = lista2.inicio
    print('Lista concantenada: ')
    barrido_lista(conc)
Exemplo n.º 7
0
def repositorio(lista):
    cambios = Lista()
    sin_lineas = Lista()
    aux = lista.inicio
    max = aux.info[1].tamanio
    usuario_mas_commit = aux.info[0]
    aux_commit = aux.info[1].inicio
    max_lineas = aux_commit.info[3]
    usuario_mas_lineas = aux.info[0]
    min_lineas = aux_commit.info[4]
    usuario_menos_lineas = aux.info
    while (aux is not None):
        if aux.info[1].tamanio > max:
            usuario_mas_commit = aux.info[0]
            max = aux.info[1].tamanio
        aux_commit = aux.info[1].inicio
        while (aux_commit is not None):
            if time.strftime(aux_commit.info[1]) > time.strftime('19:45'):
                if aux_commit.info[2] == 'test.py':
                    insertar(cambios, aux.info[0])

            if aux_commit.info[3] > max_lineas:
                usuario_mas_lineas = aux.info[0]
                max_lineas = aux_commit.info[3]

            if aux_commit.info[3] < min_lineas:
                min_lineas = aux_commit.info[4]
                usuario_menos_lineas = aux.info

            if aux_commit.info[3] == 0 and aux_commit.info[4] == 0:
                insertar(sin_lineas, aux.info[0])

            aux_commit = aux_commit.sig
        aux = aux.sig

    print('Usuario con mayor cantidad de commits: ', usuario_mas_commit)
    print('Usuario con mayor cantidad de lineas agregadas: ',
          usuario_mas_lineas)
    print('Usuario con menor cantidad de lineas agregadas: ',
          usuario_menos_lineas)
    print('Usuarios que realizaron cambios en Test.py despues de las 19:45: ')
    barridoLista(cambios)
    print('Usuarios que realizaron commits sin agregar ni eliminar lineas: ')
    barridoLista(sin_lineas)
Exemplo n.º 8
0
 def insertar_vertice(self,
                      dato,
                      criterio='info',
                      data=None):  # ! agregar otro
     self.inicio.insertar(
         {
             'info': dato,
             'visitado': False,
             'aristas': Lista(),
             'data': data
         }, criterio)
Exemplo n.º 9
0
def separa_pares(l):
    lista_pares = Lista()
    aux = l.inicio
    while (aux is not None):
        if (aux.info % 2) == 0:
            insertar(lista_pares, aux.info)
            eliminar(l, aux.info)
        aux = aux.sig
    print('Lista de pares: ')
    barridoLista(lista_pares)
    print('Lista de impares')
    barridoLista(l)
Exemplo n.º 10
0
def dividir_lista(lista):
    aux = lista.inicio
    lista_par = Lista()
    while aux is not None: 
        if aux.info % 2 == 0 :
            insertar(lista_par, aux.info)
            eliminar(lista,aux.info)
        aux = aux.sig
    print('Lista par es :')
    barrido_lista(lista_par)
    print('la lista de impares es: ')
    barrido_lista(lista)
Exemplo n.º 11
0
def lista_sin_repetidos(lista1, lista2):
        lista_sr = Lista()
        aux = lista1.inicio
        while aux is not None:
            if busqueda_lista(lista_sr, aux.info) is None:
                insertar(lista_sr, aux.info)
            aux = aux.sig
        aux = lista2.inicio
        while aux is not None:
            if busqueda_lista(lista_sr, aux.info) is None:
                insertar(lista_sr, aux.info)
            aux = aux.sig
        print('Lista concatenada sin repetidos:')
        barrido_lista(lista_sr)
        print('Interseccion de las listas: ', tamanio_lista(lista_sr))
Exemplo n.º 12
0
 def omitir_repetidos(l1, l2):
     lista_aux = Lista()
     lista_aux = l1
     aux = l2.inicio
     print('Lista 1')
     barridoLista(l1)
     print('Lista 2')
     barridoLista(l2)
     c = 0
     while (aux is not None):
         if busquedaLista(lista_aux, aux.info) == -1:
             insertar(lista_aux, aux.info)
         else:
             c += 1
         aux = aux.sig
     print('Cantidad de repetidos: ', c)
     print('Lista concatenada sin repeticiones: ')
     barridoLista(lista_aux)
Exemplo n.º 13
0
def musica(l):
    lista_artics_monkeys = Lista()
    aux = l.inicio
    max_duracion = aux.info[2]
    info = ''
    while (aux is not None):
        if aux.info[1] == 'Artics Monkeys':
            insertar(lista_artics_monkeys, aux.info[0])
        if aux.info[2] > max_duracion:
            info = aux.info
            max_duracion = aux.info[2]
        aux = aux.sig

    print('La cancion mas larga es: ', info[0])
    print('El artista es: ', info[1])
    print('La duracion es es: ', info[2])
    print('La cantidad de reproducciones es: ', info[3])
    print('Canciones de Artic Monkeys: ')
    barridoLista(lista_artics_monkeys)
    print("Lista ordenada por cantidad de reproducciones (TOP 5): ")
    barridoLista(l)
Exemplo n.º 14
0
def lista_peliculas(lista):
    for i in range(len(peliculas)):
        dato = Pelicula(peliculas[i],randint(1,10),randint(1970,2020),randint(100000,10000000))
        insertar(lista,dato,'nombre')
    barrido_lista(lista)
    print('')
    # A
    pos = None
    while pos == None:
        pos = input('Ingrese un año de estreno: ')
        if pos not in '1234567890':
            pos = None
    aux = lista.inicio
    vacio = False
    while aux is not None:
        if pos == aux.info.estreno:
            print('- '+aux.info.nombre +' se estreno en el año: '+ str(aux.info.estreno))
            vacio = True
        aux = aux.sig
    if vacio == False:
        print('No se estreno pelicula en ese año.')
    print('')
    # B
    mas_rec = 0
    may_p = ''
    aux = lista.inicio
    while aux is not None:
        if aux.info.recaudacion > mas_rec:
            mas_rec = aux.info.recaudacion
            mayor_p = aux.info
        aux = aux.sig
    print('Datos de la pelicula que mas ha recaudado:')
    print(may_p)
    print('')
    # C
    print('Mayor valoracion:')
    aux = lista.inicio
    max_val = 0
    while aux is not None:
        if aux.info.valoracion > max_val:
            max_val = aux.info.valoracion
        aux = aux.sig
    aux = lista.inicio
    while aux is not None:
        if aux.info.valoracion == max_val:
            print('- ' +aux.info.nombre +' tiene la valoracion mas alt con un puntaje es de ' + str(max_val) + ' puntos.')
        aux = aux.sig
    print('')
    # D
    print('Peliculas mostradas por criterio:')
    criterio = None
    lista_aux = Lista()
    print('CRITERIOS: nombre - valoracion - estreno - recaudacion : ')
    while criterio == None:
        criterio = input('Ingrese criterio por el que quiere mostrar: ')
        if (criterio != 'nombre') and (criterio != 'recaudacion') and (criterio != 'estreno') and (criterio != 'valoracion'):
            criterio = None
            print('Se ha producido un error: el criterio ha sido mal ingresado, vuelva a ingresar...')
    # ordenado por criterio
    print('')
    aux = lista.inicio
    while aux is not None:
        insertar(lista_aux, aux.info, criterio)
        aux = aux.sig
    print('Peliculas por ' + criterio +'...')
    sleep(2)
    barrido_lista(lista_aux)
Exemplo n.º 15
0
def navesss():
    lista_ventas = Lista()
    clientes = Lista()
    sin_clientes = Lista()
    nombre_clientes = Lista()
    informe = Lista()
    #A
    archivo = open('naves')
    linea = archivo.readline()
    while linea:
        linea = linea.replace('\n', '')
        linea = linea.split(';')
        linea[0] = linea[0].upper()
        linea[1] = linea[1].upper()
        linea[2] = float(linea[2])
        linea[3] = linea[3].title()
        linea[4] = linea[4].title()
        insertar(lista_ventas, linea)
        linea = archivo.readline()      
    print('Lista de ventas de naves')
    barrido_lista(lista_ventas)
    print()
    aux = lista_ventas.inicio
    cont = 0
    ac = 0
    devolver = 0
    ingresoAT = 0
    while aux is not None:
        #B
        if aux.info[4] == 'Desconocido':
            insertar(sin_clientes, aux.info)
        else:
            insertar(clientes,aux.info)
            pos = busqueda_lista(nombre_clientes, aux.info[4],4)
            #E
            if pos == None:
                insertar(nombre_clientes,aux.info[4])
        #D
        cont += 1
        ac = ac + aux.info[2]
        #F
        if aux.info[4] == 'Darth Vader':
            insertar(informe, aux.info)
        #H
        if aux.info[1] == 'AT-AT' or aux.info == 'AT-ST' or aux.info == 'AT-TE':
            ingresoAT = ingresoAT + aux.info[2]
        aux = aux.sig

    print('Total de ingresos de creditos galacticos: ')
    print(ac)
    print()
    print('Total de naves vendidas:')
    print(cont)
    print()
    print('Listado de clientes')
    barrido_lista(nombre_clientes)
    print()
    print('Informe de compras de Darth Vader')
    barrido_lista(informe)
    print()
    print('Clientes que han comprado naves construidas con material reciclado y monto a devoler:')
    aux2 = lista_ventas.inicio
    while aux2 is not None:
        #G
        if aux2.info[3] == 'Si':
            devolver = (aux2.info[2] * 15) / 100
            print('Al cliente: '+ aux2.info[4] + ' se le devolvera, '+str(round(devolver,2)))
        aux2 = aux2.sig
    print()
    print('Ingreso genero la producción de naves cuyos modelos contengan la sigla “AT”.: '+str(round(ingresoAT,2)))
Exemplo n.º 16
0
        return self.nombre + " " + self.catedra


# nombre, modalidad, horas, codigo

tabla_catedra = crear_tabla(50)

catedra = Catedra("Algoritmos y estructura de datos", "Anual", 10, "ADC_12345")
agregar_tc(tabla_catedra, bernstein_catedra, catedra)

cont = 0
for e in tabla_catedra:
    print(cont, " ", e)
    cont += 1

profesores = Lista()
insertar(profesores, "Walter")
insertar(profesores, "Ricardo")

posicion = buscar_tc_catedra(tabla_catedra, bernstein_catedra,
                             Catedra("", "", 0, "ADC_12345"))
if posicion:
    print("Carga de docente realizada.")
    tabla_catedra[posicion].docentes = profesores

cont = 0
for e in tabla_catedra:
    if e:
        print("Docentes : ")
        barrido(e.docentes)
        print(e)
Exemplo n.º 17
0
def vuelos(l):
    aux = l.inicio
    listado_atenas = Lista()
    turista_libre = Lista()
    totales_vuelos = Lista()
    programados = Lista()
    lista_aux = Lista()
    fecha = input('Ingrese la fecha para consultar vuelos: ')
    while (aux is not None):
        if aux.info[5] == 'Atenas':
            insertar(listado_atenas, aux.info)
        aux_lista_asientos = aux.info[7].inicio
        km = aux.info[6]
        total = 0
        while (aux_lista_asientos is not None):
            if aux_lista_asientos.info[2] == 'Desocupado':
                if aux_lista_asientos.info[1] == 'Turista':
                    insertar(turista_libre, aux.info)
                    break
            if aux_lista_asientos.info[2] == 'Ocupado':
                if aux_lista_asientos.info[1] == 'Turista':
                    total = total + (350 * km)
                else:
                    total = total + (988 * km)
            aux_lista_asientos = aux_lista_asientos.sig
        datos = [aux.info[1], total]
        insertar(totales_vuelos, datos)
        if aux.info[3] == fecha:
            insertar(programados, aux.info)
        aux = aux.sig
    nro_vuelo = int(input('Ingrese el numero de vuelo: '))
    nro = int(input('Ingrese el numero del asiento: '))
    clase = input('Ingrese la clase: ')
    estado_asiento = 'Ocupado'
    persona = input('Ingrese el nombre de la persona')
    datos_venta_pasaje = [nro, clase, estado_asiento, persona]
    pos = busquedaLista(l, nro_vuelo, 1)
    if pos == -1:
        print('El vuelo no existe')
    else:
        aux = l.inicio
        if pos == 0:
            insertar(aux.info[7], datos_venta_pasaje)
            print('Pasaje vendido')
        else:
            for i in range(0, pos + 1):
                aux = aux.sig
            insertar(aux.info[7], datos_venta_pasaje)
            print('Pasaje vendido')
    vuelo_eliminar = int(
        input('Ingrese el numerod de vuelo que desea eliminar: '))
    pos = busquedaLista(l, vuelo_eliminar, 1)
    if pos == -1:
        print('El vuelo no existe')
    else:
        aux = l.inicio
        if pos == 0:
            lista_aux = aux.info[7]
        else:
            for i in range(0, pos + 1):
                aux = aux.sig
            lista_aux = aux.info[7]
        eliminar(l, vuelo_eliminar, 1)
    print('Vuelos programados para la fecha ', fecha, ' :')
    barridoLista(programados)
    print('Vuelos con destino a Atenas: ')
    barridoLista(listado_atenas)
    print('Vuelos con asientos de clase turista disponibles: ')
    barridoLista(turista_libre)
    print('Total recaudado por cada vuelo: ')
    barridoLista(totales_vuelos)
    print('Se elimino el vuelo ', vuelo_eliminar, '. Listado de pasajeros: ')
    barridoLista(lista_aux)
from tda_lista import Lista
from random import randint
lista1 = Lista()
lista2 = Lista()
lista_concatenada = Lista()

for i in range(5):
    lista1.insertar(i)
    lista2.insertar(randint(1, 10))

print('lista 1:')
lista1.barrido()
print()

print('lista 2:')
lista2.barrido()
print()

cont_repetidos = 0

#A
for i in range(lista1.tamanio()):
    numero = (lista2.obtener_elemento(i))
    lista1.insertar(numero)

print('listas concatenadas una atras de la ota :')
lista1.barrido()
print()

#B
for i in range(lista1.tamanio()):
Exemplo n.º 19
0
from tda_lista import Lista, insertar, eliminar, busqueda, barrido, lista_vacia
from random import randint

lista_uno = Lista()
lista_dos = Lista()

for i in range(10):
    insertar(lista_uno, randint(0, 50))

for i in range(43):
    insertar(lista_dos, randint(0, 50))

aux = lista_uno.inicio
barrido(lista_uno)

while (aux is not None):
    pos = busqueda(lista_dos, aux.info)
    if (pos is not None):
        print(aux.info)
    aux = aux.sig

# for i in range(30):
#     insertar(lista_uno, randint(0, 50))

# barrido(lista)

# while(not lista_vacia(lista)):
#     dato = eliminar(lista, lista.inicio.info)
#     if(dato % 2 == 0):
#         insertar(lista_par, dato)
#     else:
Exemplo n.º 20
0
from tda_lista import Lista, insertar, eliminar, busqueda, barrido, lista_vacia
from random import randint

lista1 = Lista()
for e in range(10):
    insertar(lista1, randint(1, 100))

#barrido(lista1)

aux = lista1.inicio

while (aux is not None):
    pos = busqueda(lista1, aux.info)
    if (pos is not None):
        print(aux.info)
    aux = aux.sig

# Separar en dos listas los pares y los impares

lista_uno = Lista()
lista_par = Lista()
lista_impar = Lista()

for i in range(30):
    insertar(lista_uno, randint(0, 50))

#barrido(lista)

while (not lista_vacia(lista_uno)):
    dato = eliminar(lista_uno, lista_uno.inicio.info)
    if (dato % 2 == 0):
from tda_lista import Lista
lista_super = Lista()

datos = [
    {
        'name': 'Wolverine',
        'aparicion': 1960,
        'casa de comic': 'DC',
        'biografia': 'garras'
    },
    {
        'name': 'Linterna Verde',
        'aparicion': 1970,
        'casa de comic': 'MARVEL',
        'biografia': 'linterna'
    },
    {
        'name': 'Dr. Strange',
        'aparicion': 1978,
        'casa de comic': 'DC',
        'biografia': 'traje'
    },
    {
        'name': 'Black Panther',
        'aparicion': 1970,
        'casa de comic': 'MARVEL',
        'biografia': 'armadura'
    },
    {
        'name': 'Capitana Marvel',
        'aparicion': 1976,
Exemplo n.º 22
0
def pokemon(lista_entrenadores):
    lista_mas_ganadores = Lista()
    lista_mas_porcentaje = Lista()
    lista_determinado_pokemon = Lista()
    entrenador_mas_ganador = ''
    mas_ganador = 0
    sum_nivel = 0
    aux = lista_entrenadores.inicio
    c_pokemon = 0
    c_entrenador = 0
    control_tipo = -1
    mismo_pokemon = 0
    entrenador = input('Ingrese el nombre del entrenador que desea buscar: ')
    var_pokemon = input('Ingrese el nombre del pokemon que desea buscar: ')
    while (aux is not None):
        if aux.info[0] == entrenador:
            aux_lista_pokemon = aux.info[4].inicio
            while (aux_lista_pokemon is not None):
                c_pokemon += 1
                sum_nivel = sum_nivel + aux_lista_pokemon.info[1]
                aux_lista_pokemon = aux_lista_pokemon.sig
            prom_nivel = sum_nivel / c_pokemon

        if aux.info[1] > 3:
            insertar(lista_mas_ganadores, aux.info)

        if aux.info[1] > mas_ganador:
            entrenador_mas_ganador = aux.info
            mas_ganador = aux.info[1]

        total_batallas = aux.info[2] + aux.info[3]
        porcentaje_batallas = (aux.info[3] * total_batallas) / 100
        if porcentaje_batallas > 79:
            insertar(lista_mas_porcentaje, aux.info)

        aux_lista_pokemon = aux.info[4].inicio
        while (aux_lista_pokemon is not None):
            if aux_lista_pokemon.info[0] == var_pokemon:
                c_entrenador += 1
            if aux_lista_pokemon.info[
                    2] == 'fuego/planta' or aux_lista_pokemon.info[
                        2] == 'agua/volador':
                control_tipo += 1
                insertar(lista_determinado_pokemon, aux.info)
            aux_lista_pokemon = aux_lista_pokemon.sig
        control = busquedaLista(aux.info[4], var_pokemon)
        if control != -1:
            mismo_pokemon += 1
        aux = aux.sig

    aux = entrenador_mas_ganador[4].inicio
    may_nivel = 0
    while (aux is not None):
        if aux.info[1] > may_nivel:
            pok = aux.info
            may_nivel = aux.info[1]
        aux = aux.sig

    print('La cantidad de pokemons del entrenador ', entrenador, ' son: ',
          c_pokemon)
    print('------------------------------------------------------------')
    print('Entrenadores que ganaron + de 3 torneos: ')
    barridoLista(lista_mas_ganadores)
    print('------------------------------------------------------------')
    print(
        'Pokemon de mayor nivel del entrenador con mayor cantidad de torneos: '
    )
    print(pok)
    print('------------------------------------------------------------')
    print('Entrenadores cuyo porcentaje de batallas ganadas sea mayor a 79: ')
    barridoLista(lista_mas_porcentaje)
    print('------------------------------------------------------------')
    print('Entrenadores con pokemon de fuego/planta o agua/volador')
    barridoLista(lista_determinado_pokemon)
    print('------------------------------------------------------------')
    print('Promedio de nivel de pokemon del entrenador ', entrenador)
    print(prom_nivel)
    print('------------------------------------------------------------')
    print('Cantidad de entrenadores que tienen al pokemon ', var_pokemon, ': ',
          mismo_pokemon)
Exemplo n.º 23
0
class Persona(object):
    def __init__(self, apellido, nombre, dni):
        self.apellido = apellido
        self.nombre = nombre
        self.dni = dni

    def __str__(self):
        return self.apellido + " " + self.nombre + " " + str(self.dni)


# persona = Persona('acosta', 'juan', 33)
# dic = persona.__dict__
# print('nombre' in dic)

lista = Lista()

persona = Persona('acosta', 'juan', 33)
insertar(lista, persona, 'apellido')
persona = Persona('perez', 'martin', 35)
insertar(lista, persona, 'apellido')
persona = Persona('perez', 'jorge', 36)
insertar(lista, persona, 'apellido')
persona = Persona('bonato', 'ana', 34)
insertar(lista, persona, 'apellido')

barrido(lista)

#perez martin
persona1 = eliminar(lista, 80, 'dni')
Exemplo n.º 24
0
class NodoArbolN():
    hijos, info, altura = Lista(), None, 0
Exemplo n.º 25
0
def agregar_ta(tabla, hash, dato, criterio=None):
    '''Agrega elementos a una tabla abierta'''
    pos = hash(dato, tabla)
    if tabla[pos] is None:
        tabla[pos] = Lista()
    insertar(tabla[pos], dato, criterio)
Exemplo n.º 26
0
import random
import string
from tda_lista import Lista, insertar, barridoLista
from lista_unit import contar_nodos, eliminar_vocales, separa_pares, cargar_en_posicion, numeros_primos, superheroes, dos_listas, musica, numeros, starwars, pokemon
from lista_unit import proyecto_software, local_informatica, productos, vuelos, repositorio

# NO HACE 11, 12, 13, 19
# 16, 18

l1 = Lista()
l2 = Lista()
l3 = Lista()
lista_superheroes = Lista()
lista_canciones = Lista()
lista_starwars = Lista()
lista_entrenador_pokemon = Lista()
lista_vuelos = Lista()
lista_proyecto_software = Lista()
lista_stock_computacion = Lista()
lista_proveedores = Lista()
lista_productos = Lista()
usuarios_repositorio = Lista()

i = random.randint(0, 40)
print('Cantidad de nodos: ', i)
'''
for j in range(0, 20):
    insertar(l1, random.choice(string.letters))
    insertar(l2, random.randint(0, 40))
    insertar(l3, random.randint(15, 50))
'''
Exemplo n.º 27
0
from tda_lista import NodoLista, cargaAuto, insertar, eliminar, barrido
from tda_lista import lista_vacia, tamanio, Lista, eliminarNodo
from tda_lista import cargaString, insertar1, primo, busquedaLista
from tda_lista import inserCampo, entre
import math
import random
from random import randint

l1 = Lista()
l2 = Lista()
l3 = Lista()
'''cargaAuto(l1, 5)
barrido(l1)
while l1.inicio is not None:
    eliminarNodo(l1)
    print('l1')
    barrido(l1)'''

# ej1
'''cargaAuto(l1, 10)
barrido(l1)
print('El tamanio es: ' + str(l1.tamanio))'''

# ej2
'''cargaString(l1, 10)
barrido(l1)
aux1 = l1.inicio
aux = l1.inicio
while aux is not None:
    if ((aux.info == 'a') or (aux.info == 'e') or (aux.info == 'i') or
    (aux.info == 'o') or (aux.info == 'u') or (aux.info == 'A') or
Exemplo n.º 28
0
    aux = lista.inicio
    lista_par = Lista()
    while aux is not None: 
        if aux.info % 2 == 0 :
            insertar(lista_par, aux.info)
            eliminar(lista,aux.info)
        aux = aux.sig
    print('Lista par es :')
    barrido_lista(lista_par)
    print('la lista de impares es: ')
    barrido_lista(lista)

#dividir_lista(lista)

#4
lista = Lista()

def pos_iesima(l, pos):
    nodo = Nodo_Lista()
    nodo.info = 1999
    aux = lista.inicio
    if pos >= 0 and pos <= lista.tamanio:
        if pos < l.tamanio:
            for i in range(1, pos):
                aux = aux.sig
            nodo.sig = aux.sig
            aux.sig = nodo
        else:
            while aux.sig is not None:
                aux = aux.sig
            aux.sig = nodo
Exemplo n.º 29
0
def agregar_ta(tabla, hash, dato, criterio=None):
    posicion = hash(dato, tabla)
    if (tabla[posicion] is None):
        tabla[posicion] = Lista()
    insertar(tabla[posicion], dato, criterio)
Exemplo n.º 30
0
def github(lista):
    lista = Lista()
    user = Usuario('Roman')
    insertar(lista, user, 'nombre')
    user = Usuario('Regina')
    insertar(lista, user, 'nombre')
    user = Usuario('Tania')
    insertar(lista, user, 'nombre')
    user = Usuario('Jesus')
    insertar(lista, user, 'nombre')
    commit = Commit('test.py', '11-11-20 19:00', 'testeo de la applicacion', 46)
    pos = busqueda_lista(lista, 'Roman', 'nombre')
    insertar(pos.sublista, commit, 'archivo')
    commit = Commit('data.py', '11-11-20 19:00', 'correccion error', 12)
    pos = busqueda_lista(lista, 'Roman', 'nombre')
    insertar(pos.sublista, commit, 'archivo')
    commit = Commit('object.java', '11-11-20 19:00', 'modelado del objeto', -37)
    pos = busqueda_lista(lista, 'Regina', 'nombre')
    insertar(pos.sublista, commit, 'archivo')
    commit = Commit('app.py', '11-11-20 19:00', 'basta chicos', 34)
    pos = busqueda_lista(lista, 'Tania', 'nombre')
    insertar(pos.sublista, commit, 'archivo')
    commit = Commit('front.html', '11-11-20 19:00', 'update', 47)
    pos = busqueda_lista(lista, 'Jesus', 'nombre')
    insertar(pos.sublista, commit, 'archivo')
    commit = Commit('vista.css', '11-11-20 19:00', 'update', -2)
    pos = busqueda_lista(lista, 'Jesus', 'nombre')
    insertar(pos.sublista, commit, 'archivo')
    print('Lista de colaboradores: ')
    barrido_lista(lista)
    print()
    # a
    aux = lista.inicio
    mayor = 0
    while aux is not None:
        if tamanio_lista(aux.sublista) > mayor:
            mayor = tamanio_lista(aux.sublista)
        aux = aux.sig
    aux = lista.inicio
    while aux is not None:
        if tamanio_lista(aux.sublista) == mayor:
            print('Colaborador con mayor cantidad de commits: ' + aux.info.nombre)
            print('Cantidad de commits: '+ str(mayor))
        aux = aux.sig
    print()
    # b
    mayor = 0
    usuario = ''
    aux = lista.inicio
    while aux is not None:
        pos = aux.sublista.inicio
        mayor_aux = 0
        while pos is not None:
            mayor_aux += pos.info.cant_lineas
            pos = pos.sig
        if mayor_aux > mayor:
            mayor = mayor_aux
            usuario = aux.info.nombre
        aux = aux.sig
    print(usuario +', agrego la mayor cantidad de lineas: ' +str(mayor))
    menor = 0
    usuario_menor = ''
    aux = lista.inicio
    while aux is not None:
        pos = aux.sublista.inicio
        menor_aux = 0
        while pos is not None:
            menor_aux += pos.info.cant_lineas
            pos =pos.sig
        if menor_aux < menor:
            menor = menor_aux
            usuario_menor = aux.info.nombre
        aux = aux.sig
    print(usuario_menor+ ' elimino la mayor cantidad de lineas: '+ str(menor))
    print()
    # C
    aux = lista.inicio
    while aux is not None:
        pos = busqueda_lista(aux.sublista,'test.py','archivo')
        if pos is not None:
            print(aux.info.nombre + ', ha realizado cambios en test.py')
        aux = aux.sig
    # D
    print()
    aux = lista.inicio
    while aux is not None:
        pos = busqueda_lista(aux.sublista,0,'cant_lineas')
        if pos is not None:
            print(aux.info.nombre + ' ha realizado un commit con 0 lineas')
        aux = aux.sig
    print()
    # E
    aux = lista.inicio
    while aux is not None:
        pos = busqueda_lista(aux.sublista,'app.py','archivo')
        if pos is not None:
            print(aux.info.nombre + ', ha realizado cambios en app.py')
            barrido_sublista(aux.sublista)
        aux = aux.sig