[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