Пример #1
0
 def interpretesDeCancion(self, nombreCancion):
     listaInterpretes = Lista()
     if not self.estaVacio():
         listaInterpretes.append(
             self.raiz.interpretesDeCancion(nombreCancion))
     quickSort(listaInterpretes)
     return listaInterpretes
Пример #2
0
    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
Пример #4
0
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
Пример #5
0
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
Пример #6
0
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]
Пример #7
0
    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
Пример #8
0
 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
Пример #9
0
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]))
Пример #10
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)
Пример #11
0
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]))
Пример #12
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
Пример #13
0
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]
Пример #14
0
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]
Пример #15
0
 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
Пример #16
0
 def internosAlfabetico(self):
     interpretes = Lista()
     if not self.estaVacio():
         interpretes.append(self.raiz.interprete)
         interpretes.appendList(self.raiz.internosAlfabetico())
     quickSort(interpretes)
     return interpretes
Пример #17
0
 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
Пример #18
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
Пример #19
0
 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
Пример #20
0
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
Пример #21
0
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
Пример #22
0
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]
Пример #23
0
 def push(self, elemento):
     self.__pila = l.Lista(elemento, self.__pila)
Пример #24
0
]
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.")
Пример #25
0
                        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: 
Пример #26
0
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__()
Пример #27
0
    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())
Пример #28
0
 def encolar(self,elemento):
     if self.__cola is None:
         self.__cola = l.Lista(elemento,None)
     else:
         self.__cola.agregar(elemento)
Пример #29
0
 def __init__(self, interprete):
     self.interprete = interprete
     self.canciones = Lista()
     self.izquierdo = None
     self.derecho = None
Пример #30
0
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()
Пример #31
0
 def __init__(self):
     self.list_ = Lista()
Пример #32
0
                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])
Пример #33
0
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)
Пример #34
0
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):
Пример #35
0
# 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)
    
Пример #36
0
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)