0
Galera to with the following code:
exp = str(input('Digite a expressão: '))
pilha = []
for simb in exp:
if simb == '(':
pilha.append('(')
elif simb == ')':
if len(pilha) > 0:
pilha.pop()
else:
if simb == ')':
pilha.append(')')
break
if len(pilha) == 0:
print('Sua expressão está "Correta"!')
else:
print('Sua expressão está "Errada"!')
If you run the code by putting as an example:
(((2*2)-1)*(1+4)) assim parece correto
(((2*2)-1)*(1+4))) com parentese a mais do lado direito também aparece correto
((((2*2)-1)*(1+4)) agora com um parentese a mais do lado esquerdo aparece errado
ou seja ficou
((())()) aparece certo
((())())) aparece certo
(((())()) aparece errado
Where am I going wrong?