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)
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)
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)
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)
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)
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)
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)
def insertar_vertice(self, dato, criterio='info', data=None): # ! agregar otro self.inicio.insertar( { 'info': dato, 'visitado': False, 'aristas': Lista(), 'data': data }, criterio)
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)
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)
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))
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)
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)
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)
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)))
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)
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()):
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:
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,
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)
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')
class NodoArbolN(): hijos, info, altura = Lista(), None, 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)
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)) '''
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
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
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)
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