Re: [pyar] Re: ¿If anidado?

Página superior
Adjuntos:
+ (text/plain)

Responder a este mensaje
Autor: Alejandro J. Cura
Fecha:  
A: pyar
Asunto: Re: [pyar] Re: ¿If anidado?
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/