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
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
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
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
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())
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()
# 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())
"""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())