[pyar] [OT] Juego para geeks

Pablo Ziliani pablo en kultroom.com
Mie Mar 16 02:22:23 ART 2011


On 03/16/2011 01:39 AM, N Cis wrote:
> No se si ya esta posteada, se me ocurrio esto:
> class numero:
>     def __init__(self):
>         self.num = 0
>     def ret(self):
>         self.num += 1
>         return self.num
>
> num = numero()
> exec("print num.ret() \n") * 1000

La última linea me hizo dudar... El ejemplo funciona porque exec es un 
statement y los paréntesis sólo están cumpliendo la función de agrupar a 
la (única) string, antes de multiplicarla. No dañan, pero tampoco 
aportan y de hecho confunden.

Es que si exec fuera una función, la multiplicación tendría que suceder 
dentro de los paréntesis para que haga lo que se espera, si no se 
estaría multiplicando el resultado ya computado del exec.


Aporto una variante:

from itertools import count
exec "print c.next()\n" * 1000 in {'c': count(1)}

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


More information about the pyar mailing list