<jupyter_start><jupyter_text>ejemplo de aplicacion de pilasx = 4+5+6+3x = 4+5+6)+3x = (4+(5+6)+3)if(a==b){System.out.println(b)}if(a==b){System.out.println(b)}reglas '(' ---> push('@') ')' ---> pop()Si el final del recorrido la pila esta vacia, entonces la cadena es correcta.Si en un pop desencadena en querer sacar un elemento de la pila vacia significa que la cadena no esta balanceada.TareaHacer un programa que valide el balanceo de '{ }' , '[ ]' , '( )' en programas del lenguaje C y Java.tomando com base el codigo de la clase<jupyter_code>from string import punctuation

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 ele in self.__datos[-1::-1]:
      print(f" { ele } ")
    print("------------\n")
    
  def cadena_valida(self, cadena):
    pila = []
    abierto = ['{', '(' , '[']
    cerrado = ["}" , ")" , "]"]


    for i in cadena:
        if i in abierto:
            pila.append(i)
        elif i in cerrado:
            pos = cerrado.index(i)
            if ((len(pila)>0)) and (abierto[pos] == pila[len(pila)-1]):
                pila.pop()
            else:
                return False
    if len(pila) == 0:
        return True
    else: 
        return False




print("Validacion aritmetica de cadena")
x = "((4+5))"
print(pila1.cadena_valida(x))
y = "(4+(5+6)+3)"
print(pila1.cadena_valida(y))
z = "4+5+6+3"
print(pila1.cadena_valida(z))
a = "4+5+6)+3"
print(pila1.cadena_valida(a))
b = "(4+(5+60+3)"
print(pila1.cadena_valida(b))<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.17611777535441658, 'fraction_numerical': 0.023446019629225736, 'mean_word_length': 2.7679671457905544, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 8, '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': '631033', 'license': 'MIT', 'n_tokens_mistral': 727, 'n_tokens_neox': 706, 'n_words': 166, 'path': 'Tarea2Pilas.ipynb', 'repo_name': 'CarlosKarim/daa_2021_1', 'size': '1834'}