JUNIOR DEVELOPER
Módulo - PYTHON
Ing. Yusselin Murcia Clase 18
Pilas
Las pilas (stacks, en inglés) son TAD, esto es, Tipos
Abstractos de Datos, que se estructuran en un formato de
tipo lista a cuyos elementos se accede de una forma
particular, tanto que tiene hasta su propio acrónimo en
inglés: LIFO, de Last In, First Out, que podemos traducir
como "Lo último en entrar (será) lo primero en salir".
Otro “Machote” de Pilas
# Implementación de una pila en pyhton print([Link])
class Stack: # Creamos la clase Stack
def __init__(self): pila = Stack() # Creamos una instancia de
[Link] = [] la pila
def is_empty(self): # Metodo para # ingresamos algunos elementos a la pila
verificar si la pila esta vacia [Link]('a')
return [Link] == [] [Link]('b')
[Link]('c')
def push(self, item): # Metodo para
insertar elementos a la pila pila.print_stack() # Mostramos los
[Link](0, item) elementos de la pila
def pop(self): # Metodo para eliminar [Link]() # Utilizamos el metodo pop
ultimo elemento apilado pila.print_stack() # Mostramos
return [Link](0) nuevamente los elementos de la pila
def print_stack(self): # Metodo para
mostrar los elementos de la pila
Práctica de Clase
Juego de Cartas
◦ Crear una clase Carta que contenga un palo y un
valor.
◦ Crear una clase PilaDeCartas que vaya apilando las
cartas una debajo de otra, pero sólo permita
apilarlas si son de un número inmediatamente
inferior y de distinto palo. Si se intenta apilar una
carta incorrecta, se debe de informar que nose
puede apilar.
◦ Agregar el método __str__ a la clase PilaDeCartas,
para imprimir las cartas que se hayan apilado hasta
el momento.
Práctica #2
◦ Crear un programa que nos permita cargar informacion en una pila y realizar
diferentes acciones en la misma mediate un menu principal, la información que
vamos a cargar son números enteros, los números se deben de solicitar por
teclado al usuario.
◦ El menu a desplegar debe de tener esta misma estructura:
Entrega del trabajo en clase
◦ Deben de subir a TEAMS el trabajo en clase realizado completamente antes de
las 2:00pm
MUCHAS GRACIAS