Example #1
0
def get_Nombres_Que_Empiezan_Con_C_D_And_G(obj_Pila):
    obj_Aux_Pila = Pila()
    indice = 0
    Vector = []

    while (not obj_Pila.pila_vacia()):
        obj_Aux_Pila.apilar(obj_Pila.desapilar())

        if (obj_Aux_Pila.elemento_cima()[0][0] in ['C', 'D', 'G']):
            Vector.insert(indice, obj_Aux_Pila.elemento_cima()[0])
            indice += 1

    while (not obj_Aux_Pila.pila_vacia()):
        obj_Pila.apilar(obj_Aux_Pila.desapilar())

    return Vector
Example #2
0
def get_Pos_Groot_And_Roket(obj_Pila):
    obj_Aux_Pila = Pila()
    indice = obj_Pila.tamanio() - 1
    posicion_Groot = None
    posicion_Roket = None

    while ((not obj_Pila.pila_vacia())
           and ((posicion_Groot == None) or (posicion_Roket == None))):
        obj_Aux_Pila.apilar(obj_Pila.desapilar())

        if (obj_Aux_Pila.elemento_cima()[0] == 'Groot'):
            posicion_Groot = indice
        elif (obj_Aux_Pila.elemento_cima()[0] == 'Rocket Raccoon'):
            posicion_Roket = indice

        indice -= 1
    while (not obj_Aux_Pila.pila_vacia()):
        obj_Pila.apilar(obj_Aux_Pila.desapilar())

    return posicion_Groot, posicion_Roket
Example #3
0
def get_Personajes_Que_Aparecen_En_Mas_De_5_Peliculas_And_La_Cantidad(
        obj_Pila):
    obj_Aux_Pila = Pila()
    cant_peliculas = None
    indice = 0
    Vector = None
    Mat = [[]]

    while (not obj_Pila.pila_vacia()):
        obj_Aux_Pila.apilar(obj_Pila.desapilar())
        cant_peliculas = len(obj_Aux_Pila.elemento_cima()) - 1

        if (cant_peliculas > 5):
            Mat.insert(indice,
                       (obj_Aux_Pila.elemento_cima()[0], cant_peliculas))
            indice += 1

    while (not obj_Aux_Pila.pila_vacia()):
        obj_Pila.apilar(obj_Aux_Pila.desapilar())

    return Mat
Example #4
0
def es_Palindromo(palabra_pila):
    pila_Inversa = Pila()
    pila_Inversa = invertir_Pila_Sin_Perder_Elementos(palabra_pila)

    while ((not palabra_pila.pila_vacia())
           and (palabra_pila.elemento_cima() == pila_Inversa.elemento_cima())):
        palabra_pila.desapilar()
        pila_Inversa.desapilar()

    if (palabra_pila.pila_vacia()):
        return True
    else:
        return False
Example #5
0
def get_Total_Personas_Capturadas(obj_Pila):
    obj_Aux_Pila = Pila()
    contador = 0

    while (not obj_Pila.pila_vacia()):
        obj_Aux_Pila.apilar(obj_Pila.desapilar())

        if (obj_Aux_Pila.elemento_cima()[2] != 'Fallo'):
            contador += 1

    while (not obj_Aux_Pila.pila_vacia()):
        obj_Pila.apilar(obj_Aux_Pila.desapilar())

    return contador
pila_v = Pila()
pila_vii = Pila()
pila_aux = Pila()

for i in range(0, len(personajes_v)):  # Cargamos la pila del episodio V
    pila_v.apilar(personajes_v[i])

for i in range(0, len(personajes_vii)):  # Cargamos la pila del episodio VII
    pila_vii.apilar(personajes_vii[i])

# pila_v        pila_vii
#
#        Anakin              Anakin

while (not pila_v.pila_vacia()):
    if (pila_v.elemento_cima() == pila_vii.elemento_cima()):
        print('El personaje', pila_v.desapilar(),
              " se encuentra en ambas peliculas")
        pila_vii.desapilar()
        while (not pila_aux.pila_vacia()):
            pila_vii.apilar(pila_aux.desapilar())
    else:
        while (not pila_vii.pila_vacia()
               and pila_v.elemento_cima() != pila_vii.elemento_cima()):
            pila_aux.apilar(pila_vii.desapilar())

        if (pila_vii.pila_vacia()):
            pila_v.desapilar()
            while (not pila_aux.pila_vacia()):
                pila_vii.apilar(pila_aux.desapilar())
Example #7
0
from pila import Pila
import random

# Ejercicio 14
pila_numeros = Pila()
pila_aux = Pila()

datos = [random.randint(0, 1000) for _ in range(10)]

for i in range(0, len(datos)):
    numero = datos[i]

    if (pila_numeros.pila_vacia()):
        pila_numeros.apilar(numero)
    else:
        if (numero >= pila_numeros.elemento_cima()):
            pila_numeros.apilar(numero)
        else:
            while (not pila_numeros.pila_vacia()
                   and pila_numeros.elemento_cima() > numero):
                pila_aux.apilar(pila_numeros.desapilar())

            pila_numeros.apilar(numero)

            while (not pila_aux.pila_vacia()):
                pila_numeros.apilar(pila_aux.desapilar())
while (not pila_numeros.pila_vacia()):
    print(pila_numeros.desapilar())

#Ejercicio 16
pila_empire = Pila()
Example #8
0
# pueden utilizar métodos de ordenamiento–.

from pila import Pila
from random import randint

pila_numeros = Pila()
pila_aux = Pila()


for i in range(0, 10):
    numero = randint(0,100)
    # Otra opción es usar el metodo expresado debajo con un ciclo while
    #numero = int(input("Ingrese el número a introducir en la pila: "))
    if(pila_numeros.pila_vacia()):
        pila_numeros.apilar(numero)
    else:
        if(numero >= pila_numeros.elemento_cima()):
            pila_numeros.apilar(numero)
        else:
            while(not pila_numeros.pila_vacia() and pila_numeros.elemento_cima() > numero):
                pila_aux.apilar(pila_numeros.desapilar())

            pila_numeros.apilar(numero)

            while(not pila_aux.pila_vacia()):
                pila_numeros.apilar(pila_aux.desapilar())


while (not pila_numeros.pila_vacia()):
    print (pila_numeros.desapilar())
Example #9
0
"""14. Realizar un algoritmo que permita ingresar elementos en una pila, y que estos queden ordenados de forma creciente. Solo puede utilizar una pila auxiliar como estructura extra 
–no sepueden utilizar métodos de ordenamiento–."""


from pila import Pila

pila_principal = Pila()
pila_aux = Pila()
cantidad = int(0)

for i in range (0,100):
    elemento = str(input('Ingrese el elemento que desea apilar o "fin" para terminar: '))
    if (elemento != 'fin'):
        if pila_principal.pila_vacia() or (elemento >= pila_principal.elemento_cima()):
            pila_principal.apilar(elemento)
        else:
            while (not pila_principal.pila_vacia() and elemento < pila_principal.elemento_cima()):
                pila_aux.apilar(pila_principal.desapilar())
            pila_principal.apilar(elemento)
            while (not pila_aux.pila_vacia()):
                pila_principal.apilar(pila_aux.desapilar())
                if (elemento != 'fin'):
                    cantidad += 1
    else:
        break
        
print('\nLa pila ingresada y ordenada es: ')
pila_principal.print_pila()
from pila import Pila

pila_datos=Pila()
pila_aux=Pila()

numeros = [0, 3, 1, 7, 2, 10]

for i in range(0,6):
    num=numeros[i]
    if (pila_datos.pila_vacia()):
        pila_datos.apilar(num)
    else:
        if (num > pila_datos.elemento_cima()):
            pila_datos.apilar(num)
        else:
            while (not pila_datos.pila_vacia() and pila_datos.elemento_cima()>num):
                pila_aux.apilar(pila_datos.desapilar())
            pila_datos.apilar(num) 
            while(not pila_aux.pila_vacia()):
                pila_datos.apilar(pila_aux.desapilar())
 
                  
while(not pila_datos.pila_vacia()):
       print(pila_datos.desapilar())