<jupyter_start><jupyter_text>Estructura de datos pilas (Stack)- lifo- last in first out- es de tipo lineal- se pueden obtener e ingresar datos desde el tope- push para agregar - pop para sacar   operaciones de las pilas 1. is_empty (regresa un true o false, para ver si esta vacia)1. get_top (regresa el elemento en el tope SIN SACARLO)1. poo(saca el elemento del tope y lo regresa)1. push (mete un elemto en el tope )1. get_length(ingresa el numero de elementos de la pila)<jupyter_code>#Estructura de datos pilas (Stack)
class Stack:
  def __init__(self):
    self.__datos=[]

  def is_empty(self):
    return len(self.__datos)==0

  def get_top(self):
    return self.__datos[-1]

  def pop(self):
    return self.__datos.pop()

  def push(self,valor):
    self.__datos.append(valor)

  def get_length(self):
    return len(self.__datos)

  def to_string(self):
    print("|------------------|")
    for j in self.__datos[-1::-1]:
      print(j)
      print("|------------------|\n")



  

pila1=Stack()
pila1.push(10)
pila1.push(20)
pila1.push(1)
pila1.push(393)
pila1.push(103)
pila1.to_string()

sacado=pila1.pop()
print(sacado)
pila1.to_string()


print(f"EL ELEMENTO EN EL TOPE ES:{pila1.get_top()}")
pila1.to_string()
print(f"La pila tiene {pila1.get_length()} elementos")
print(f"¿La pila esta vacía?: { pila1.is_empty() } ")<jupyter_output>|------------------|
103
|------------------|

393
|------------------|

1
|------------------|

20
|------------------|

10
|------------------|

103
|------------------|
393
|------------------|

1
|------------------|

20
|------------------|

10
|------------------|

EL ELEMENTO EN EL TOPE ES:393
|------------------|
393
|------------------|

1
|------------------|

20
|------------------|

10
|------------------|

La pila tiene 4 elementos
¿La pila esta vacía?: False
{'fraction_non_alphanumeric': 0.28938730853391686, 'fraction_numerical': 0.03665207877461707, 'mean_word_length': 1.8578125, 'pattern_counts': {'":': 0, '<': 4, '<?xml version=': 0, '>': 4, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '1', 'dir': 'jupyter-structured-clean-dedup', 'id': '161580', 'license': 'MIT', 'n_tokens_mistral': 699, 'n_tokens_neox': 647, 'n_words': 173, 'path': '5deOctubre_daa.ipynb', 'repo_name': '1carlosd1/daa_2021_1', 'size': '1828'}