[pyar] [OT] - Checkeando parentesis balanceados.

John Rowland Lenton john.lenton en canonical.com
Vie Jun 18 17:29:27 ART 2010


On Fri, Jun 18, 2010 at 01:24:11PM -0300, Mariano Garcia Berrotarán wrote:
> Hola listeros:
> 
> el otro dia charlando con un compañero de trabajo, me contó que un
> ejercicio que toma en entrevistas, es el siguiente:
> 
> escribir una función la cual recibe una cadena conformada unicamente
> por parentesis abiertos y cerrados.
> la funcion tiene que retornar un booleano representando si los
> parentesis estan balanceados o no.
> 
> balanceados significa: todo parentesis que abre, corresponde a uno que cierra.
> 
> casos validos: (()), (), ()(), ((())), ((()())) ...
> casos invalidos: )()), ((()) )( ...
> 
> despues de jugar un rato yo lo resolví de esta forma:
> 
> http://pastebin.com/5BHcxbDC
> 
> mi pregunta es la siguiente:
> 
> a alguien se le ocurre alguna forma de hacerlo usando list comprehension ?
> 
> alguna forma chiflada de hacerlo?
> 
> 
> aca les dejo los unit tests para probarlo si quieren.
> 
> http://pastebin.com/7En3UzBk


que tal así:

    def balanceados(caso):
        try:
            re.compile(caso)
        except re.error:
            return False
        else:
            return True
------------ próxima parte ------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 490 bytes
Desc: Digital signature
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20100618/e5acabcf/attachment.sig>


More information about the pyar mailing list