Un texto está
bien parentizado si por cada paréntesis abierto hay otro más adelante que lo
cierra. Por ejemplo, la cadena:
‘Esto (es (un)
(ejemplo (de) ((cadena) bien)) parentizada).’
Está bien parentizada, pero no lo están estas otras:
‘una cadena)’, ‘(una
cadena’, ‘(una (cadena)’, ‘)una (cadena’
Diseña un programa que lea una cadena y nos diga si la cadena
está bien o mal parentizada.
#Solución
entrada = "Esto (es (un) (ejemplo (de) ((cadena) bien)) parentizada)."
pf = 0; sf = 0; iniciar = None
entrada2 = []
for i in entrada:
if i == ')':
entrada2.append(i)
pf += 1
if i == '(':
entrada2.append(i)
sf += 1
pf = 0; sf = 0; iniciar = None
entrada2 = []
for i in entrada:
if i == ')':
entrada2.append(i)
pf += 1
if i == '(':
entrada2.append(i)
sf += 1
if pf == sf:
u = len(entrada2)-1
while u >= 0:
if entrada2[u]== ')':
entrada2.pop(u)
iniciar = True
if iniciar:
l = len(entrada2)-1
if l == -1:
print('está mal parentizada'); break;
elif l == 0:
print('está bien parentizada'); break;
while iniciar:
if entrada2[l] == '(':
entrada2.pop(l)
iniciar = False
l = l - 1
u = len(entrada2)-1
if entrada2[u]== '(':
print('está mal parentizada'); break;
else:
print('está mal parentizada');
Ayudanos a resolver más ejercicios!
https://www.paypal.com/paypalme/CwilVargas?locale.x=es_XC
Comentarios
Publicar un comentario