Ir al contenido principal

Ejercicio 42:


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

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

Entradas populares de este blog

Ejercicio 14:

Realiza un programa que calcule el desglose mínimo en billetes y monedas de una cantidad exacta de euros. Hay billetes de 500, 200, 100, 50, 20, 10 y 5 € y monedas de 2 y 1 €. Por ejemplo, si deseamos conocer el desglose de 434 €, el programa mostrará por pantalla el siguiente resultado: - 2 billetes de 200 euros. - 1 billete de 20 euros. - 1 billete de 10 euros. - 2 monedas de 2 euros. (¿Que cómo se efectúa el desglose mínimo? Muy fácil. Empieza por calcular la división entera entre la cantidad y 500 (el valor de la mayor moneda): 434 entre 500 da 0, así que no hay billetes de 500 € en el desglose; divide a continuación la cantidad 434 entre 200, cabe a 2 y sobran 34, así que en el desglose hay 2 billetes de 200 €; dividimos a continuación 34 entre 100 y vemos que no hay ningún billete de 100 € en el desglose (cabe a 0); como el resto de la última división es 34, pasamos a dividir 34 entre 20 y vemos que el desglose incluye un billete de 20 € y aún nos faltan 14 € por...

Ejercicio 27:

Haz un programa que vaya leyendo números hasta que el usuario introduzca un número negativo. En ese momento, el programa mostrará por pantalla el número mayor de cuantos ha visto. #Solución n= int(input("Ingrese un numero:\n ")) mayor = n while True:     if n > 0:         print(n)         n= int(input("Ingrese un numero:\n "))         if n > mayor:             mayor = n     else:         print("Se terminò el mayor es: ", mayor);break   Ayudanos a resolver más ejercicios! https://www.paypal.com/paypalme/CwilVargas?locale.x=es_XC   

Ejercicio 29:

Realiza un programa que proporcione el desglose en billetes y monedas de una cantidad entera de euros. Recuerda que hay billetes de 500, 200, 100, 50, 20, 10 y 5 € y monedas de 2 y 1 €. Debes «recorrer» los valores de billete y moneda disponibles con uno o más bucles for-in. Soluciòn dinero = int(input("Dame el valor del dinero: ")) lista = [500, 200, 100, 50, 20, 10, 5, 2, 1] for i in lista:     queda = dinero // i     dinero = dinero % i     if  queda > 0:         print("Le queda "+ str(queda)+  (" billete" if i > 2 else " moneda") +("s " if queda >1 else " ")+ str(i))    Aquí te dejo la resolución en un video. https://www.youtube.com/watch?v=QKCjFWNaFFY No te olvides de suscribirte y darle like al video Ayudanos a resolver más ejercicios! https://www.paypal.com/paypalme/CwilVargas?locale.x=es_XC