def interpretesDeCancion(self, nombreCancion): listaInterpretes = Lista() if not self.estaVacio(): listaInterpretes.append( self.raiz.interpretesDeCancion(nombreCancion)) quickSort(listaInterpretes) return listaInterpretes
def cancionesEnNivel(self, nivel): cancionesNivel = Lista() if self.altura() >= nivel: cancionesNivel = self.raiz.cancionesEnNivel(nivel) # else: # raise Exception("Nivel no valido") quickSort(cancionesNivel) cancionesNivel.eliminarRep() return cancionesNivel
def __init__(self): self.__candidatos = Lista() self.__candidatosOrdenados = Lista() self.__dicFiltrado = {} self.__candidatosEstado = {} self.__candidatosNomes = {} self.__candidatosBens = {} self.__candidatosData = {} self.__bensCarregados = False
def opcionAgregarItemLista(listaNombre, lista): item = '' imprimirArticulos(listaNombre, lista) item = input('\nEscribir Nombre del Articulo Nuevo o 00 para salir: ') if item.strip() != '00' and item.strip() != "": lista = ls.agregarArticulo(lista, item.strip()) return lista
def opcionAgregarItemLista(listaNombre,lista): item = '' imprimirArticulos(listaNombre,lista) item=input('\nEscribir Nombre del Articulo Nuevo o 00 para salir: ') if item.strip() != '00' and item.strip() != "": lista = ls.agregarArticulo(lista,item.strip()) return lista
def opcionBorrarLista(lista, lista_actual): listaBorrar = '' imprimirListas(lista, lista_actual) try: listaBorrar = input( '\nNumero de la Lista a Borrar (0-{0})o 00 para Cancelar: '.format( len(lista) - 1)) if listaBorrar != '00': listaBorrarN = int(listaBorrar) except: print("\nOpcion no valida") input() else: if listaBorrar != '00': if listaBorrarN >= 0 and listaBorrarN < len(lista): lista = ls.borrarLista(lista, listaBorrarN) if lista_actual >= listaBorrarN: if lista_actual == 0 and len(lista) > 0: lista_actual = 0 else: lista_actual -= 1 else: print("\nOpcion no valida") input() return [lista_actual, lista]
def cancionesEnNivel(self, nivel): nivelActual = 0 cancionesNivel = Lista() while nivel >= nivelActual: if nivel == nivelActual: cancionesNivel.appendList(self.canciones) else: if self.tieneIzquierdo(): nivelActual += 1 cancionesNivel = self.izquierdo.cancionesEnNivel(nivel) if self.tieneDerecho(): nivelActual += 1 cancionesNivel = self.derecho.cancionesEnNivel(nivel) nivelActual += 1 return cancionesNivel
def internosAlfabetico(self): interpretes = Lista() if self.grado() != 0: interpretes.append(self.interprete) if self.tieneIzquierdo(): interpretes.appendList(self.izquierdo.internosAlfabetico()) if self.tieneDerecho(): interpretes.appendList(self.derecho.internosAlfabetico()) return interpretes
def imprimirListas(lista,lista_actual): Clear() print('LISTA ACTUAL: {0} - {1}\n'.format(lista_actual,ls.getListaNombre(lista,lista_actual))) for i in range(len(lista)): if i == lista_actual: print('{0} - {1} >> Lista Actual'.format(i,lista[i][0])) else: print('{0} - {1}'.format(i,lista[i][0]))
def fillList(self, toggleState): self.model = Lista.Giocatori(self.squadra, toggleState) self.ui.tableGiocatori.setModel(self.model) self.ui.tableGiocatori.show() note = "Giornate: " + QtCore.QString("%1").arg( self.squadra.giornata) + ", Media: " + QtCore.QString("%1").arg( self.squadra.mediaTotale(), 0, 'f', 2) self.labelSq.setText(note)
def imprimirListas(lista, lista_actual): Clear() print('LISTA ACTUAL: {0} - {1}\n'.format( lista_actual, ls.getListaNombre(lista, lista_actual))) for i in range(len(lista)): if i == lista_actual: print('{0} - {1} >> Lista Actual'.format(i, lista[i][0])) else: print('{0} - {1}'.format(i, lista[i][0]))
def getListBoard(self): url = "https://api.trello.com/1/boards/"+self.boardID+"/lists" query = {'key': self.key,'token': self.token} response = requests.request("GET",url,params=query) response = json.loads(response.text) for lista in response: listasTrello = Lista.Lista(lista['id'],lista['name']) self.addList(listasTrello) return response
def opcionAgregarLista(lista, lista_actual): listaNueva = '' imprimirListas(lista, lista_actual) listaNueva = input('\nNombre de la Lista Nueva o 00 para Cancelar: ') if listaNueva.strip() != '00' and listaNueva.strip(): lista = ls.agregarLista(lista, listaNueva.strip()) if lista_actual == -1: lista_actual += 1 return [lista_actual, lista]
def opcionAgregarLista(lista,lista_actual): listaNueva = '' imprimirListas(lista,lista_actual) listaNueva=input('\nNombre de la Lista Nueva o 00 para Cancelar: ') if listaNueva.strip() != '00' and listaNueva.strip(): lista = ls.agregarLista(lista,listaNueva.strip()) if lista_actual == -1: lista_actual += 1 return [lista_actual,lista]
def interpretesDeCancion(self, nombreCancion): interpretes = Lista() if self.canciones.contiene(nombreCancion): interpretes.append(self.interprete) if self.tieneIzquierdo(): interpretes.appendList( self.izquierdo.interpretesDeCancion(nombreCancion)) if self.tieneDerecho(): interpretes.appendList( self.derecho.interpretesDeCancion(nombreCancion)) return interpretes
def internosAlfabetico(self): interpretes = Lista() if not self.estaVacio(): interpretes.append(self.raiz.interprete) interpretes.appendList(self.raiz.internosAlfabetico()) quickSort(interpretes) return interpretes
def __init__(self, usuario, pas): self.usuario = usuario self.pas = pas self.on = False self.lista = Lista.Lista() self.lista.nombre = "L#" + usuario self.cubo = MatrizDispersa.Matriz() self.disparosA = MatrizDispersa.Matriz() self.disparosF = MatrizDispersa.Matriz() self.derecha = None self.izquierda = None self.R = 0 self.F = 0 self.avl = ArbolAvl.Avl() self.A = 0
def validacion(self): if len(self.cadena) % 2 == 0: print("Es par") p = Automata.Pila() p.apilar("#") guardar = Lista.Listas() guardar.addPila("#") print("la pila", p.mostrar()) aux = EstadoPar.EstadosPar(self.cadena, p, self.error, guardar) aux.estado1(p) print(aux.retorno()) if (aux.retorno()): self.estadoPila = aux.devolverPila() self.estadoPila.append("#") print(self.estadoPila) self.estados = aux.devolverEstados() self.estados.append("True") print(self.estados) print("-> Palabra Acepatada PALINDROMO!!!") print("la pila", p.mostrar()) else: self.estadoPila = aux.devolverPila() self.estadoPila.append("#") print(self.estadoPila) self.estados = aux.devolverEstados() self.estados.append("False") print(self.estados) print("-> Palabra no Aceptada, NOOOOO es PALINDROMO!!!!") if len(self.cadena) % 2 != 0: print(' Esta palabra es impar y no es aceptada') print("NOJODAAAAAAAAAAAA", aux.devolverEstados()) print("Diossssssss", aux.devolverPila()) def load_image(filename, transparent=False): try: image = pygame.image.load(filename) except pygame.error, message: raise SystemExit, message image = image.convert() if transparent: color = image.get_at((0, 0)) image.set_colorkey(color, RLEACCEL) return image
def buscarCanciones(self, listaInterpretes): lCancionesComun = Lista() lCancionesComun.appendList(self.cancionesDe(listaInterpretes.get(0))) interprete = 1 cancion = 0 while interprete < listaInterpretes.len(): if cancion < self.cancionesDe( listaInterpretes.get(interprete)).len(): if self.cancionesDe(listaInterpretes.get(interprete)).contiene( lCancionesComun.get(cancion)): cancion += 1 else: lCancionesComun.eliminarPos(cancion) else: interprete += 1 cancion = 0 return lCancionesComun
def opcionBorrarItemLista(listaNombre,lista): item = '' imprimirArticulos(listaNombre,lista) try: item=input('\nEscribir Numero del Articulo a Borrar o 00 para salir: ') if item != '00': itemN = int(item) except: print("\nOpcion no valida") input() else: if item != '00': if itemN >= 0 and itemN < len(lista): lista = ls.borrarLista(lista,itemN) else: print("\nOpcion no valida") input() return lista
def opcionBorrarItemLista(listaNombre, lista): item = '' imprimirArticulos(listaNombre, lista) try: item = input( '\nEscribir Numero del Articulo a Borrar o 00 para salir: ') if item != '00': itemN = int(item) except: print("\nOpcion no valida") input() else: if item != '00': if itemN >= 0 and itemN < len(lista): lista = ls.borrarLista(lista, itemN) else: print("\nOpcion no valida") input() return lista
def opcionBorrarLista(lista,lista_actual): listaBorrar = '' imprimirListas(lista,lista_actual) try: listaBorrar=input('\nNumero de la Lista a Borrar (0-{0})o 00 para Cancelar: '.format(len(lista)-1)) if listaBorrar != '00': listaBorrarN = int(listaBorrar) except: print("\nOpcion no valida") input() else: if listaBorrar != '00': if listaBorrarN >= 0 and listaBorrarN < len(lista): lista = ls.borrarLista(lista,listaBorrarN) if lista_actual >= listaBorrarN: if lista_actual == 0 and len(lista) > 0: lista_actual = 0 else: lista_actual -= 1 else: print("\nOpcion no valida") input() return [lista_actual,lista]
def push(self, elemento): self.__pila = l.Lista(elemento, self.__pila)
] size = [10, 20, 100, 1000] print(m.center(50, " ")) for i in range(5): print(i + 1, ")", structures[i]) option = int(input()) os.system('cls' if os.name == 'nt' else 'clear') m = "Cantidad de contactos:" print(m.center(50, " ")) for i in range(4): print(i + 1, ")", size[i]) s = int(input()) os.system('cls' if os.name == 'nt' else 'clear') if option == 1: import Lista libreta = Lista.Book() print("Ahora se agregaran los contactos.") pause() tinicial = time() for i in range(size[s - 1]): contact = Lista.Contact("", "", "912345678", "*****@*****.**") fakename = fake.name() fullname = return_name(fakename) contact.name, contact.last_name = fullname[0], fullname[1] contact.full_name = contact.name + " " + contact.last_name libreta.add(contact) ttotal = time() - tinicial print("Cantidad de segundos en agregar ", size[s - 1], " contactos: ", ttotal) pause() print("Ahora se buscará un contacto por su apellido.")
lista_actual -= 1 else: print("\nOpcion no valida") input() return [lista_actual,lista] def opcionVerListas(lista,lista_actual): imprimirListas(lista,lista_actual) input('\nPresione cualquier tecla para continuar: ') if __name__ == '__main__': lista_actual = -1 listas_supermercado = [] omenu = 0 listas_supermercado = ls.cargarListas("Tarea5",listas_supermercado) if len(listas_supermercado) > 0: lista_actual = 0 while True: Menu(lista_actual,ls.getListaNombre(listas_supermercado,lista_actual)) try: omenu = int(input("Seleccione una opcion (1-8): ")) except: print("Opcion invalida") else: if omenu == 1: if len(listas_supermercado) != 0: opcionImprimirArticulos(listas_supermercado[lista_actual][0],listas_supermercado[lista_actual][1]) else: imprimirListaVacia() elif omenu == 2:
class Controle: def __init__(self): self.__candidatos = Lista() self.__candidatosOrdenados = Lista() self.__dicFiltrado = {} self.__candidatosEstado = {} self.__candidatosNomes = {} self.__candidatosBens = {} self.__candidatosData = {} self.__bensCarregados = False def carregaCandidatos( self, arquivo): #APROXIMADAMENTE 40 - 60 SEGUNDOS PRA CARREGAR arquivo = ler(arquivo) for i in range(1, len(arquivo)): if 'DT_GERACAO' not in arquivo[i]: candidato = Candidato( arquivo[i][2], arquivo[i][10], arquivo[i][13], arquivo[i][14], arquivo[i][17], arquivo[i][15], arquivo[i][16], arquivo[i][20], arquivo[i][18], arquivo[i][27], arquivo[i][29], arquivo[i][28], arquivo[i][49], arquivo[i][50], arquivo[i][38], arquivo[i][42], arquivo[i][44], arquivo[i][46], arquivo[i][35], arquivo[i][37], arquivo[i][25], arquivo[i][23], arquivo[i][55]) self.__candidatosData[arquivo[i][38]] = candidato self.__candidatosNomes[arquivo[i][17]] = candidato self.__candidatos.anexar(candidato) def carregaBens(self, arquivo): #APROXIMADAMENTE 30 SEGUNDOS PRA CARREGAR if len(self.__candidatos) > 0: arquivo = ler(arquivo) bens = {} for i in range(1, len(arquivo)): bens[arquivo[i][11]] = [] for i in range(1, len(arquivo)): bemCandidato = Bem(arquivo[i][13], arquivo[i][14], arquivo[i][15], arquivo[i][16]) bens[arquivo[i][11]].append(bemCandidato) for candidato in self.__candidatos: if candidato.getIdDoCandidato() in bens: candidato.setListaDeBens(bens[str( candidato.getIdDoCandidato())]) self.__candidatosBens[len( candidato.getListaDeBens())] = candidato self.__bensCarregados = True return self.__bensCarregados else: raise ValueError('Você precisa carregar os candidatos primeiro') def filtrar(self, partido, uf, municipioNascimento, cargo, valorBens, pleito): listaAux = [] for candidato in self.__candidatos: valor = candidato.getValorTotalDeclarado() if (candidato.getSiglaDoPartido() == partido) and (candidato.getSiglaDaUf() == uf) and ( candidato.getNomeDoMunicipioDeNascimento() == municipioNascimento) and ( candidato.getDescricaoDoCargo() == cargo) and (valor > valorBens) and ( candidato.getSituacaoDoCandidatoPosPleito() == pleito): listaAux.append(candidato) return listaAux def OrdemAlfabeticaCrescente(self): a = self.__candidatosNomes.copy() for i in range(len(a)): print(a[min(a)]) a.pop(min(a)) def OrdemAlfabeticaDecrescente(self): a = self.__candidatosNomes.copy() for i in range(len(a)): print(a[max(a)]) a.pop(max(a)) def TotalDeBensCrescente(self): a = self.__candidatosBens.copy() for i in range(len(a)): print(a[min(a)]) a.pop(min(a)) def TotalDeBensDecrescente(self): a = self.__candidatosBens.copy() for i in range(len(a)): print(a[max(a)]) a.pop(max(a)) def DataDeNascimentoCrescente(self): a = self.__candidatosData.copy() for i in range(len(a)): print('Data Nascimento :', min(a), '\n', a[min(a)]) a.pop(min(a)) def DataDeNascimentoDecrescente(self): a = self.__candidatosData.copy() for i in range(len(a)): print('Data Nascimento :', max(a), '\n', a[max(a)]) a.pop(max(a)) def separaTudo(self): for candidato in self.__candidatos: if candidato.getSiglaDaUf() not in self.__candidatosEstado: self.__candidatosEstado[candidato.getSiglaDaUf()] = [] self.__candidatosEstado[candidato.getSiglaDaUf()].append(candidato) return self.__candidatosEstado def media(self, parametro): #UF,CARGO,PARTIDO, OCUPAÇÃO ou DATA DE NASCIMENTO if self.__bensCarregados: lista = {} sumBens = 0 media = '' for candidato in self.__candidatos: if parametro == candidato.getSiglaDaUf(): if candidato.getIdDoCandidato() not in lista and type( candidato.getListaDeBens()) != str: lista[candidato.getIdDoCandidato()] = [] if type(candidato.getListaDeBens()) != str: lista[candidato.getIdDoCandidato()].append( candidato.getListaDeBens()) sumBens += len(candidato.getListaDeBens()) elif parametro == candidato.getDescricaoDoCargo(): if candidato.getIdDoCandidato() not in lista and type( candidato.getListaDeBens()) != str: lista[candidato.getIdDoCandidato()] = [] if type(candidato.getListaDeBens()) != str: lista[candidato.getIdDoCandidato()].append( candidato.getListaDeBens()) sumBens += len(candidato.getListaDeBens()) elif parametro == candidato.getNomeDoPartido() and type( candidato.getListaDeBens()) != str: if candidato.getIdDoCandidato() not in lista: lista[candidato.getIdDoCandidato()] = [] if type(candidato.getListaDeBens()) != str: lista[candidato.getIdDoCandidato()].append( candidato.getListaDeBens()) sumBens += len(candidato.getListaDeBens()) elif parametro == candidato.getDataDeNascimento() and type( candidato.getListaDeBens()) != str: if candidato.getIdDoCandidato() not in lista: lista[candidato.getIdDoCandidato()] = [] if type(candidato.getListaDeBens()) != str: lista[candidato.getIdDoCandidato()].append( candidato.getListaDeBens()) sumBens += len(candidato.getListaDeBens()) elif parametro == candidato.getDescricaoDaOcupacao() and type( candidato.getListaDeBens()) != str: if candidato.getIdDoCandidato() not in lista: lista[candidato.getIdDoCandidato()] = [] if type(candidato.getListaDeBens()) != str: lista[candidato.getIdDoCandidato()].append( candidato.getListaDeBens()) sumBens += len(candidato.getListaDeBens()) media = sumBens / len(lista) return print(f'Média: {media:.2f}') raise ValueError('Carregue os Bens dos Candidatos Primeiro') def remove(self, criterio): for candidato in self.__candidatos: if candidato.getSituacaoDaCandidatura( ) == criterio or candidato.getSituacaoDoCandidatoPosPleito( ) == criterio or candidato.getNomeDoCandidato( ) == criterio or candidato.getSiglaDaUf() == criterio: i = self.__candidatos.indice(candidato) self.__candidatos.selecionar(i) return self.__candidatos def __str__(self): #arquivo = open('candidatos1.txt','w') #arquivo.write(str(self.__candidatos)) #arquivo.close() return str(self.__candidatos) def __repr__(self): return self.__str__()
def validacion(self): if len(self.cadena) % 2 == 0: print(' Esta palabra es par y no es aceptada') if len(self.cadena) % 2 != 0: p = Automata.Pila() p.apilar("#") guardar = Lista.Listas() guardar.addPila("#") #print("pila grajdklm",guardar.mostrarPila()) print("la pila", p.mostrar()) aux = EstadoImpar.EstadosImpar(self.cadena, p, self.error, guardar) aux.estado1(p) print(aux.retorno()) if aux.retorno(): self.estadoPila = aux.devolverPila() self.estadoPila.append("#") #self.estadoPila.append("True") print(self.estadoPila) self.estados = aux.devolverEstados() self.estados.append("True") #self.estados.append(" ") print(self.estados) print("-> Palabra Acepatada PALINDROMO!!!") print(p.mostrar()) else: self.estadoPila = aux.devolverPila() self.estadoPila.append("#") print(self.estadoPila) self.estados = aux.devolverEstados() self.estados.append("False") print(self.estados) print("-> Palabra no Aceptada, NOOOOO es PALINDROMO!!!!") # iniciamos el PYGAME def load_image(filename, transparent=False): try: image = pygame.image.load(filename) except pygame.error, message: raise SystemExit, message image = image.convert() if transparent: color = image.get_at((0, 0)) image.set_colorkey(color, RLEACCEL) return image # --------------------------------------------------------------------- def main(cadena, devolverEstados, devolverPila): # Constantes listaPila = devolverPila listaEstado = devolverEstados WIDTH = 903 HEIGHT = 542 reloj = pygame.time.Clock() screen = pygame.display.set_mode((WIDTH, HEIGHT)) pygame.display.set_caption("<-- PALINDROMO PAR --") background_image = load_image('img/impar.png') #imagenes errorTrue = pygame.image.load("img/ERRROR_TRUE.png") errorFalse = pygame.image.load("img/ERRROR_FALSE.png") flecha = pygame.image.load("img/flecha.png") apilar = pygame.image.load("img/APILAR.png") desapilar = pygame.image.load("img/DESAPILAR.png") fuente = pygame.font.Font(None, 26) texto1 = fuente.render(cadena, 0, (9, 104, 146)) fuentea = pygame.font.Font(None, 60) #coordenadas de imagenes #flecha xFlecha = 293 yFlecha = 233 #apilar1 xapi = 1000 yapi = 1000 #desapilar xdesa = 1000 ydesa = 1000 i = 0 #errorTrue xTrue = 1000 yTrue = 1000 #errorFalse xFalse = 1000 yFalse = 1000 while True and i < len(listaPila): for eventos in pygame.event.get(): if eventos.type == QUIT: sys.exit(0) pulsada = pygame.key.get_pressed() #reubica ala imagen apilar y desapilar xapi = 1000 yapi = 1000 xdesa = 1000 ydesa = 1000 if listaEstado[ i] == "f": #1 b,b/bb -> desaapila b apila bb xFlecha = 154 yFlecha = 107 #desapi xdesa = 724 ydesa = 276 #apila xapi = 574 yapi = 72 if listaEstado[ i] == "e": #2 a,b/ba -> desaapila b apila ba xFlecha = 154 yFlecha = 137 #desapi xdesa = 724 ydesa = 276 #apila xapi = 574 yapi = 72 if listaEstado[i] == "d": #3 b,a/ab ->desaapila a apila ab xFlecha = 154 yFlecha = 174 #desapi xdesa = 724 ydesa = 276 #apila xapi = 574 yapi = 72 if listaEstado[ i] == "c": #4 a,a/aa ->desapila a y apila aa xFlecha = 154 yFlecha = 211 #desapi xdesa = 724 ydesa = 276 #apila xapi = 574 yapi = 72 if listaEstado[i] == "b": #5 b,#/#b ->apila b xFlecha = 154 yFlecha = 248 #apila xapi = 574 yapi = 72 if listaEstado[i] == "a": #6 a,#/#a ->apila a xFlecha = 154 yFlecha = 280 #apila xapi = 574 yapi = 72 if listaEstado[i] == "g": #7 c,#/# xFlecha = 308 yFlecha = 329 if listaEstado[i] == "h": #8 c,b/b -> apila b xFlecha = 308 yFlecha = 368 if listaEstado[i] == "i": #9 c,a/a -> apila a xFlecha = 308 yFlecha = 415 if listaEstado[i] == "j": #10 b,b/landa -> desapila b xFlecha = 570 yFlecha = 285 #desapi xdesa = 724 ydesa = 276 if listaEstado[i] == "k": #11 a,a/landa -> desapila a xFlecha = 571 yFlecha = 320 #desapi xdesa = 724 ydesa = 276 if listaEstado[i] == "True": #12 landa/#/# final del xFlecha = 532 yFlecha = 431 #desapi xdesa = 724 ydesa = 276 if listaEstado[i] == "True": #4 xTrue = 183 yTrue = 129 if listaEstado[i] == "False": #4 xFalse = 183 yFalse = 129 reloj.tick(0.5) screen.fill((0, 0, 0)) screen.blit(background_image, (0, 0)) screen.blit(flecha, (xFlecha, yFlecha)) a = fuentea.render(listaPila[i], 0, (0, 0, 0)) screen.blit(a, (348, 160)) screen.blit(apilar, (xapi, yapi)) screen.blit(apilar, (1000, 1000)) #reloj.tick(0.1) screen.blit(desapilar, (xdesa, ydesa)) screen.blit(desapilar, (1000, 1000)) screen.blit(texto1, (654, 427)) screen.blit(errorTrue, (xTrue, yTrue)) screen.blit(errorFalse, (xFalse, yFalse)) pygame.display.update() pygame.display.flip() i = i + 1 return 0 pygame.init() main(self.cadena, aux.devolverEstados(), aux.devolverPila())
def encolar(self,elemento): if self.__cola is None: self.__cola = l.Lista(elemento,None) else: self.__cola.agregar(elemento)
def __init__(self, interprete): self.interprete = interprete self.canciones = Lista() self.izquierdo = None self.derecho = None
class DB(): # Constructor De Administrador def __init__(self): self.list_ = Lista() # ----------- Administrador De Bases De Datos ----------- # # ------------- Método Crear Base De Datos ------------- # # Parametros: database -> Nombre De BD A Crear # Retorno: [0] Operación Exitosa # [1] Error # [2] BD Ya Existe def createDatabase(self, database): # Verificar Si BD(database) Ya Existe if self.list_.Search(database) == 0: # BD No Existe # Insertar Nueva BD self.list_.Insert(database) # Binario binario.commit(self.showDatabases(), "bases") return 0 # Operación Exitosa else: # BD Ya Existe return 2 # BD Ya Existe # ------------- Método Mostrar Base De Datos ------------- # # Parametros: Ninguno # Retorno: [] Lista Vaacia (No Existen BD) # [Llena] Lista De Bases De Datos def showDatabases(self): # Lista Que Retonranrá self.BD_list = [] # Recorrer Lista De BD Y Agregarlas A Lista De Retorno self.rec_BD = self.list_.primero while self.rec_BD != None: self.BD_list.append( self.rec_BD.node_id ) # Aqui Puede Ser Solo Pasar ID Y No El Nodo Depende El Buscado self.rec_BD = self.rec_BD.siguiente # Retornar Lista De BD return self.BD_list # Método Para Interfaz (Obtener Lista De BD) def get_all(self): # Lista Retorno self.BD_list = [] self.BD_list = self.showDatabases() # ------------- Método Update Base De Datos ------------- # # Parametros: databaseOld -> Nombre De BD A Modificar # databaseNew -> Nuevo Nombre De BD # Retorno: [0] Operación Exitosa # [1] Error # [2] databaseOld No Existe # [3] databaseNew Ya Existe def alterDatabase(self, databaseOld, databaseNew): # Buscar BD Para Obtener Nodo self.BD_old = self.list_.Search(databaseOld) if self.BD_old == 0: # No Encontro La BD return 2 #databaseOld No Existe else: # Encuentra La BD # Buscar De Nuevo En Lista De BD Si El Nuevo Nodo Ya Está En Uso self.BD_new = self.list_.Search(databaseNew) if self.BD_new == 0: # No Existe La BD # Actualizar #self.BD_old.data.Update(parametros) Otra Opción self.BD_old.node_id = databaseNew # Binario binario.commit(self.list_.showDatabases(), "bases") return 0 # Operación Exitosa else: # Nuevo Nombre Ya Existe return 3 # databaseNew Ya Existe # ------------- Método Delete Base De Datos ------------- # # Parametros: database -> Nombre De BD A Eliminar # Retorno: [0] Operación Exitosa # [1] Error # [2] BD No Existe def dropDatabase(self, database): # Verificar Si BD Existe self.DB_delete = self.list_.Search(database) if self.DB_delete == 0: # BD No Existe return 2 # BD No Existe else: # BD Existe # Eliminar self.list_.Delete(database) # Binario binario.commit(self.showDatabases(), "bases") return 0 # Operación Exitosa # ------------ Administrador De Tablas De BD ------------ # # ------------- Método Crear Tabla En BD ------------- # # Parametros: database -> Nombre De BD A Eliminar # table -> Nombre De Tabla A Crear # numberColumns -> Numero De Columnas De Los Registros # Retorno: [0] Operación Exitosa # [1] Error # [2] BD No Existe # [3] Tabla Ya Existe def createTable(self, database, table, numberColumns): # Obtener Nodo BD self.DB = self.list_.Search(database) # Verificar Si BD No Existe if self.DB == 0: return 2 # BD No Existe else: # BD Existe # Intentar Insertar Tabla self.insert_Table = self.DB.data.Search(table) # Verificar Si Tabla No Existe if self.insert_Table == 0: # Tabla No Existe, Insertar Tabla self.DB.data.InsertIsam(table) # Binario binario.commit( self.DB.data.Search(table).data, self.DB.node_id + "_" + table) return 0 # Operación Exitosa else: # Tabla Ya Existe return 3 # Tabla Ya Existe # ------------- Método Mostrar Tablas De BD ------------- # # Parametros: database -> Nombre De BD A Eliminar # Retorno: [] Lista Vacia # [Llena] Lista De Tablas def showTables(self, database): # Lista De Retorno self.tables_List = [] # Obtener Nodo De La Base De Datos self.DB = self.list_.Search(database) # Recorrer Lista De Tablas Y Agregarlas A Lista De Retorno self.rec_T = self.DB.data.primero while self.rec_T != None: self.tables_List.append(self.rec_T.node_id) self.rec_T = self.rec_T.siguiente # Retornar Lista De Tablas return self.tables_List # Método Para Interfaz (Obtener Lista De Tablas) def get_all2(self): # Lista Retorno self.T_list = [] self.T_list = self.showTables()
def __init__(self): self.list_ = Lista()
print("\nOpcion no valida") input() return [lista_actual, lista] def opcionVerListas(lista, lista_actual): imprimirListas(lista, lista_actual) input('\nPresione cualquier tecla para continuar: ') if __name__ == '__main__': lista_actual = -1 listas_supermercado = [] omenu = 0 listas_supermercado = ls.cargarListas("Tarea5", listas_supermercado) if len(listas_supermercado) > 0: lista_actual = 0 while True: Menu(lista_actual, ls.getListaNombre(listas_supermercado, lista_actual)) try: omenu = int(input("Seleccione una opcion (1-8): ")) except: print("Opcion invalida") else: if omenu == 1: if len(listas_supermercado) != 0: opcionImprimirArticulos( listas_supermercado[lista_actual][0], listas_supermercado[lista_actual][1])
def AstarAlgorithm(stationList, connections, coord_origin, coord_destination, typePreference, timeConnections, timeStation): lista_heu = [ ] #Lista donde guardaremos todas las heuristicas desde cualquier punto al destino elegido por el usuario lista_aux = [] lista_exp = [] expandedNodes = 1 #Lo inicializamos a 1 ya que el origen no lo vamos a sumar en ningun momento ya lo ponemos aqui lista_nodos_expandidos = [] x_ori, y_ori = coord_origin x_dest, y_dest = coord_destination time = 0 transbordos_total = 0 distancia_total = 0 #Si las estaciones son las mismas lanzamos error (Cambiarlo si queremos) if (x_ori == x_dest and y_ori == y_dest): raise ValueError nombre_ori, id_ori, linea_ori, nombre_dest, id_dest, linea_dest = BuscarOriDest( x_ori, y_ori, x_dest, y_dest, stationList) """-------------------------Una vez realizado este bucle ya tendremos nuestro origen y destino-----------------------""" #Aqui calculamos la tabla de heuristicas y la tabla de costes viene dada en el diccionario por lo tanto ya podemos aplicar A* # for i in range(len(stationList)+1): for i in stationList: if (typePreference == '0'): #Minimum Distance lista_heu.append(DistEuclidea(i.Get_x(), i.Get_y(), x_dest, y_dest)) elif (typePreference == '1'): #Minimum Stops lista_heu.append(0) elif (typePreference == '2'): #Minimum Time lista_heu.append(h_tiempo(i.Get_x(), i.Get_y(), x_dest, y_dest)) elif (typePreference == '3'): #Minimum Connections lista_heu.append(0) # j = -1 # if(j!=-1): # lista_heu.append(h_tiempo(stationList[j].Get_x(), stationList[i].Get_y(), x_dest, y_dest)) # else: # lista_heu.append(0) # j+=1 lista_nodos_expandidos.append(id_ori) lista = Lista( stationList ) #Usamos la clase creada anteriormente para poder usar sus funciones lista_aux.append(id_ori) lista.Add_tupla( lista_aux ) #Anyadimos el nodo padre a la lista con un coste de 0 ya que es desde donde comenzamos cap = lista.DevolverCabeza() while ((cap[len(cap) - 1] != id_dest) and (lista.ListaVacia() == False)): """print lista, '\n', '\n' print lista.GetCoste(), '\n', '\n'""" lista_exp = Expandir(connections, cap) lista.Borrar() for i in range(len(lista_exp)): aux = cap[:] #Hacemos una copia del cap aux.append(lista_exp[i]) #A esa copia le añadimos uno de los hijos # aux.append(list(lista_exp)) #A esa copia le añadimos uno de los hijos #print cap[len(cap)-1], '\n' coste, heuristica, trans = CalcularCostesHeuristicas( lista_heu, timeStation, timeConnections, cap[len(cap) - 1], lista_exp[i], lista, lista.GetCoste()) #Calcula los costes y las heuristicas transbordos_total += trans coste_auxiliar = coste if ( lista.Add_tupla(aux, heuristica) == True ): #Hay que controlar que no se metan valores en la tabla sin tener sentido expandedNodes += 1 lista.Add_coste(coste, cap[len(cap) - 1]) #lista_exp[i] lista_nodos_expandidos.append(lista_exp[i]) lista.Reordenar() cap = lista.DevolverCabeza() idCamins = lista.DevolverCabeza() #idCamins.reverse() #Asociamos la tabla de costes a la variable tabla_costes tabla_costes = lista.GetCoste() for i in range(len(idCamins)): #Recorremos toda la tabla y vamos sumando los valores correspondientes para poder devolverlos time += tabla_costes[idCamins[i]] min_distance_origin = connections[id_ori].keys() min_distance_destination = connections[id_dest].keys() for i in range(len(idCamins) // 2): aux = stationList[idCamins[i]] aux1 = stationList[idCamins[i + 1]] x1_aux = aux.Get_x() y1_aux = aux.Get_y() x2_aux = aux1.Get_x() y2_aux = aux1.Get_y() distancia_total += DistEuclidea(x1_aux, x2_aux, y1_aux, y2_aux) stopStations = len(idCamins) idCamins.reverse() nodos_hijos = idCamins[:] idCamins.reverse() return time, distancia_total, transbordos_total, stopStations, expandedNodes, nodos_hijos, idCamins, min_distance_origin, min_distance_destination, len( idCamins)
import sys sys.path.append('../G26/Instrucciones') sys.path.append('../G26/Librerias') sys.path.append('../G26/Utils') sys.path.append('../G26') import gramatica as g import Instrucciones.DML.select as select import Instrucciones.DDL.show as show from storageManager import jsonMode as storage import Lista as l from Error import * eel.init('client') storage.dropAll() datos = l.Lista({}, '') @eel.expose def analize(texto): global datos instrucciones = g.parse(texto) for instr in instrucciones['ast']: if instr != None: result = instr.execute(datos) if isinstance(result, Error): eel.printText(str(result)) elif isinstance(instr, select.Select) or isinstance( instr, select.QuerysSelect):
# Practica2s12017_201314359 from flask import Flask, request, Response import Lista import MDispersa import Cola import Pila app = Flask("EDD_codigo_ejemplo") #Ejemplo de una clase, todos los metodos de las clases deben de tener como parametro el "self", que es como el .this en Java lis=Lista.Lista() m=MDispersa.Matriz() col=Cola.Cola() p=Pila.Pila() @app.route('/metodoWeb',methods=['POST']) def hello(): parametro = str(request.form['dato']) dato2 = str(request.form['dato2']) lis.insertar(dato2,parametro) @app.route('/metodoWeb3',methods=['POST']) def hello3(): parametro = str(request.form['dato']) lis.Borrar(parametro)
import Lista import Cola import Pila from flask import Flask, request instanciaCola = Cola.Cola() instanciaLista = Lista.ListaSimple() instanciaPila = Pila.Pila() app = Flask("Practica") #------------------LISTA ENLAZADA---------------------- @app.route('/insertarLista', methods=['POST']) def insertarLista(): valor = str(request.form['palabra']) instanciaLista.insertarInicio(valor) return "se ha insertado el valor en la lista: " + str(valor) @app.route('/eliminarLista', methods=['POST']) def eliminarLista(): valor = int(request.form['numero']) instanciaLista.eliminarPorIndice(valor) return "se ha eliminado el valor: " + str(valor) @app.route('/buscarLista', methods=['POST']) def buscarLista(): valor = str(request.form['palabra']) valo1 = str(instanciaLista.obtenerPosicion(valor)) return str(valo1)