On Thu, Sep 17, 2009 at 18:11, Lucio Torre <lucio.torre@???> wrote:
> 2009/9/17 <guagliap@???>:
>> import inspect
>>
>> def assign(var, value):
>> stack = inspect.stack()[1][0]
>> stack.f_locals [var] = value
>> del stack
>> return value
>>
>> # No inicializo edad!, a la C
>> while not assign("edad", raw_input('Edad? ')).isdigit():
>> print u'Poné un número!'
>>
>> print u'Tenes %s años' % edad
>> ------
>
> mas legible: (sin testear)
> import inspect
>
> def assign(**kwargs):
> for var, value in kwargs.items():
> stack = inspect.stack()[1][0]
> stack.f_locals [var] = value
> del stack
> return value
>
> # No inicializo edad!, a la C
> while not assign(edad=raw_input('Edad? ')).isdigit():
> print u'Poné un número!'
>
> print u'Tenes %s años' % edad
Me gusta esta versión; queda muy prolijo.
Pero assign se comporta mal si no le pasás parámetros (y más o menos
la mitad de las veces si le pasás más de uno).
Creo que le faltaría un "assert len(kwargs) == 1" al principio de todo.
saludos,
--
alecu
---------------------------------------------------------------------
Para dar de baja la suscripcion, mande un mensaje a:
pyar-unsubscribe@???
Para obtener el resto de direcciones-comando, mande un mensaje a:
pyar-help@???
PyAr - Python Argentina - Sitio web:
http://www.python.com.ar/