def listpais2(lista, pais): listacat = lt.newList('ARRAY_LIST') for video in lt.iterator(lista): if video["country"] == pais: lt.addLast(listacat, video) return listacat
def test_iterator(altbooks): for element in lt.iterator(altbooks): print(element)
def getCategory_id(catalog, category): for i in lt.iterator(catalog['category']): if i['cat_name'] == ' ' + category: cat_id = int(i['cat_id']) break return cat_id
def conteo_range_value(lista): total = 0 for char in lt.iterator(lista): total += lt.size(char['song']) return total
num=int(input("Porfavor ingrese el tamaño de la sublista:\n")) print("Ingrese la opcion con la que se desea organizar la lista") opcion_sort=int(input("1.Selection 2.Insertion 3.Shell 4.Merge 5.Quick\n")) if 6>opcion_sort>0: result=controller.getBestVideos(catalog,num,opcion_sort) print("Para la muestra de", num, " elementos, el tiempo (mseg) es: ", str(result[0])) print(result[1]) else:print("Ingrese una opcion valida") if int(inputs[0])==3: tamaño=int(input("Porfavor ingrese el numero de videos x del top: ")) pais=str(input("Ingrese el pais: ")) nombrecategoria=(input("Ingrese la categoria de los videos: ")) lista=controller.topvideospais(catalog,nombrecategoria,pais,tamaño) for video in lt.iterator(lista): printVideo(video) if int(inputs[0])==0: iniciando=False if int(inputs[0])==4: pais=input("Ingrese el pais: ") result=controller.listapais(catalog,pais) printVideo(result[0]) print(result[1]) if int(inputs[0])==5: tag=input("Ingrese el tag: ") lista=controller.listatag(catalog,tag) for video in lt.iterator(lista): printtag(video)
result = execute_req4(catalog, name_gen, min_val, max_val, genders, indicator) keys = mp.keySet(result[1]) view_req_4(result, keys) if indicator == 1: execute_removeGender(catalog, name_gen) elif int(inputs[0]) == 7: init, end = parametros_req5() result = execute_req5(catalog, init, end) print('\nRESULTADOS ENCONTRADOS') print( f'\nReproducciones encontradas en el rango de horas dado: {result[2]}' ) view_req_5_part1(result[0]) view_req_5_part2(result[1]) elif int(inputs[0]) == 70: result = execute_consulta_propiedades(catalog) contador = 0 for i in lt.iterator(result): contador += 1 altura, elementos = view_propiedades(i) print( f'\nArbol RBT {contador}:\naltura = {altura}\nelementos = {elementos}' ) else: sys.exit(0) sys.exit(0)
def eliminateRepeated(lst): auxlst = lt.newList(cmpfunction=None) for element in lt.iterator(lst): if not lt.isPresent(auxlst,element): lt.addLast(auxlst,element) return auxlst
from DISClib.ADT import graph as gr from DISClib.ADT import list as lt # Creacion de un grafo no dirigido def comparefunction(searchname, element): if (searchname == element['key']): return 0 elif (searchname < element['key']): return -1 return 1 grafo = gr.newGraph(datastructure='ADJ_LIST', directed=False, size=14000, comparefunction=comparefunction) gr.insertVertex(grafo, "1") gr.insertVertex(grafo, "2") gr.addEdge(grafo, "1", "2") #Imprimir el grafo for v in lt.iterator(gr.vertices(grafo)): print(v) adj = gr.adjacents(grafo, v) for a in lt.iterator(adj): print('-', a) print()
if int(inputs[0]) == 1: #Cargar archivos tipo_lista='ARRAY_LIST' print("Cargando información de los archivos...") catalog = initCatalog(tipo_lista) loadData(catalog) print('Videos cargados: ' + str(lt.size(catalog['videos']))) firstVid = lt.firstElement(catalog['videos']) print('\nPrimer video: ', "\nTitulo:",firstVid['title'], "\nCanal:",firstVid['channel_title'], "\nFecha trending:",firstVid['trending_date'], "\nPais:",firstVid['country'], "\nViews:",firstVid['views'], "\nLikes:",firstVid['likes'], "\nDislikes:",firstVid['dislikes']) print('\nCategorias cargadas: ') for i in lt.iterator(catalog['category_id']): print("Nombre:",i['name'],"--- Id:",i['id']) elif int(inputs[0]) == 2: #Req 1 size=0 category_name = input("Indique la categoría de los videos a consultar: ") country = input("Indique el país de los videos a consultar: ") filteredList = controller.filterVideos(catalog, ['category_id','country'],[category_name,country]) while size<1 or size>lt.size(filteredList['videos']): size = int(input("Indique el número de videos a listar: ")) print("Ordenando datos...\n") result = controller.sortVideos(filteredList, size, 'views')
def subListVideos_porTag(tad_lista, tag: str): sublist = lt.newList(datastructure=tad_lista['type']) for video in lt.iterator(tad_lista): if video_tiene_tag(video, tag): lt.addLast(sublist, video) return sublist
def loadPaises(catalog): for video in lt.iterator(catalog['videos']): pais = str(video['country']).lower() if not (pais_presente(catalog, pais)): addPais(catalog, pais)
def subListVideos_porPais(tad_lista, pais: str): sublist = lt.newList(datastructure=tad_lista['type']) for video in lt.iterator(tad_lista): if video['country'] == pais: lt.addLast(sublist, video) return sublist
def categoria_id_presente(catalog, categoria_id: str): id_presente = False for categoria in lt.iterator(catalog['categorias']): if categoria['id'] == categoria_id: id_presente = True return id_presente
input('Ingresa la categoria de los videos a analizar: ')) id_category = int(controller.category_id_name(catalog, category)) print(controller.load_Req_1(catalog, country, id_category, cant_vd)) elif int(inputs[0]) == 3: country = str( input("Ingrese el país para conocer su video tendencia:")) list_id = controller.load_req2(catalog, country) print(list_id) elif int(inputs[0]) == 4: category = str( input('Ingrese la categoria para conocer su video tendencia: ')) id_category = int(controller.category_id_name(catalog, category)) print(controller.load_Req_3(catalog, id_category)) elif int(inputs[0]) == 5: country = str(input('Ingrese el país: ')) v_cant = int(input('Ingrese cantidad de videos a rankear: ')) tag = str(input('Ingrese el tag para filtrar los videos: ')) lst = controller.load_Req_4(catalog, country, v_cant, tag) for fv in lt.iterator(lst): print('video: ' + str(fv['title']) + ', ' + str(fv['cannel_title']) + ', ' + str(fv['publish_time']) + ', views: ' + str(fv['views']) + ', likes: ' + str(fv['likes']) + ', dislikes: ' + str(fv['dislikes']) + ', tags: ' + str(fv['tags'])) else: sys.exit(0) sys.exit(0)
def secondreq(answer): print("La cantidad de pistas únicas es " + str(lt.getElement(answer, 1))) for elemento in lt.iterator(lt.getElement(answer, 2)): print(elemento) print("") print("")
def test_empty_sort(emptylist): olist = sa.sort(emptylist, cmpfunction) for elem in lt.iterator(olist): print(elem)
catalog = None """ Menu principal """ while True: printMenu() inputs = input('Seleccione una opción para continuar\n') if int(inputs[0]) == 0: print("Cargando información de los archivos ....") catalog = initCatalog() loadData(catalog) print('Videos cargados: ' + str(lt.size(catalog['videos']))) print('\nId y categorías: ') for c in lt.iterator(catalog['category']): print(c['id'], c["name"]) # Calcular tiempo answer = controller.loadData(catalog) print("Tiempo [ms]: ", f"{answer[0]:.3f}", " || ", "Memoria [kB]: ", f"{answer[1]:.3f}") elif int(inputs[0]) == 1: categoria = input('Ingrese la categoría: ') pais = input('Ingrese el pais: ') cantidad = int(input('Ingrese el número de videos: ')) resultado = controller.requerimiento_1(catalog, categoria, cantidad, pais) printVideosMasViews(resultado, cantidad)
def test_selection_ordered(orderedlist): olist = sa.sort(orderedlist, cmpfunction) for elem in lt.iterator(olist): print(elem)
print("Cargando información de los archivos ....") process = controller.createCatalog() catalog = process[0] info = process[1] printInfoCountries(info[0]) printInfoLpoints(info[1]) printInfoConnections(info[2]) elif int(inputs[0]) == 2: print(" ======================= REQUERIMIENTO 1 ======================= ") pass elif int(inputs[0]) == 3: print(" ======================= REQUERIMIENTO 2 ======================= ") points_list = controller.req2(catalog) for lpoint in lt.iterator(points_list): print(" > " + "Nombre: " + lpoint['name'] + " || País:" + lpoint['country'] + " || ID: " + lpoint['id'] + " || Cables: " + str(lpoint['amount'])) elif int(inputs[0]) == 4: print(" ======================= REQUERIMIENTO 3 ======================= ") countryA = input("Ingrese el país A: ") countryB = input("Ingrese el país B: ") result = controller.req3(catalog, countryA, countryB) if result[0] == None: print("No hay comunicación entre ambos países") else: print("La ruta obtenida (por tramos) ha sido:") for element in lt.iterator(result[0]): print(" > " + element['vertexA'] + " a " + element['vertexB'] + " con una distancia de " + str(element['weight']) + "km") print("La distancia total entre ambos países es de " + str(round(result[1], 2)) + "km" ) elif int(inputs[0]) == 5:
def test_selection_inverted(invertedlist): olist = sa.sort(invertedlist, cmpfunction) for elem in lt.iterator(olist): print(elem)
def test_getvalues(map): ltset = ht.valueSet(map) assert lt.size(ltset) == 12 for element in lt.iterator(ltset): print(element)
def test_selection_random(randomlist): olist = sa.sort(randomlist, cmpfunction) for elem in lt.iterator(olist): print(elem)
def conteo_llaves_unicas(lista): total = 0 for char in lt.iterator(lista): total += 1 return total
nombre_genero_nuevo = str( input('Introduce el nombre del genero nuevo: \n')) lim_inf = float( input( 'Introduce el limite inferior de bpm del genero nuevo: \n') ) lim_sup = float( input( 'Introduce el limite superior de bpm del genero nuevo: \n') ) controller.nuevo_genero(catalog, nombre_genero_nuevo, lim_inf, lim_sup) print('Presiona: 1 para agregar genero o 0 para continuar.') decision = input('') generos_a_correr = lt.newList('ARRAY_LIST') for genero_preguntar in lt.iterator(mp.keySet(catalog['Generos'])): print('¿Deseas incluir el genero {}?'.format(genero_preguntar)) incluido = input( 'Presiona: 1 para consultar este genero o 0 para continuar.\n') if incluido == '1': lt.addLast(generos_a_correr, genero_preguntar) #-------------------------------- delta_time = -1.0 delta_memory = -1.0 tracemalloc.start() start_time = getTime() start_memory = getMemory() #-------------------------------- respuesta_cruda = controller.req4(catalog, generos_a_correr) total_reproducciones = respuesta_cruda[1]