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(self.items)
class Stack: # Creamos la clase Stack
def __init__(self): pila = Stack() # Creamos una instancia de
self.items = [] la pila
def is_empty(self): # Metodo para # ingresamos algunos elementos a la pila
verificar si la pila esta vacia pila.push('a')
return self.items == [] pila.push('b')
pila.push('c')
def push(self, item): # Metodo para
insertar elementos a la pila pila.print_stack() # Mostramos los
self.items.insert(0, item) elementos de la pila
def pop(self): # Metodo para eliminar elpila.pop() # Utilizamos el metodo pop
ultimo elemento apilado pila.print_stack() # Mostramos
return self.items.pop(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