[pyar] [OT] - Checkeando parentesis balanceados.

Claudio Freire klaussfreire en gmail.com
Vie Jun 18 18:54:03 ART 2010


2010/6/18 John Rowland Lenton <john.lenton en canonical.com>

> On Fri, Jun 18, 2010 at 05:43:02PM -0300, Roberto Alsina wrote:
> > On Friday 18 June 2010 17:29:27 John Rowland Lenton wrote:
> > > que tal así:
> > >
> > >     def balanceados(caso):
> > >         try:
> > >             re.compile(caso)
> > >         except re.error:
> > >             return False
> > >         else:
> > >             return True
> >
> > No necesitás re:
> >
> > def balanceado(caso):
> >       try:
> >               eval(caso)
> >               return True
> >       except SyntaxError:
> >               return False
>
> eso falla con "()()", que entendí que estaba bien.
> Además,
>
> $ python -m timeit -s 'from q import f_eval, f_re' 'f_eval("(())")'
> 100000 loops, best of 3: 8.9 usec per loop
> $ python -m timeit -s 'from q import f_eval, f_re' 'f_re("(())")'
> 100000 loops, best of 3: 1.24 usec per loop
>
> además además,
>
> $ python -m timeit -s 'from q import f_eval, f_re' 'f_re("("*100 +
> ")"*100)'
> 1000 loops, best of 3: 1.72 msec per loop
> $ python -m timeit -s 'from q import f_eval, f_re' 'f_eval("("*100 +
> ")"*100)'
> s_push: parser stack overflow
>

¿por qué se está pareciendo a una competencia sobre intérpretes de
brainfuck?

Hm....
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20100618/3097e9be/attachment.html>


More information about the pyar mailing list