[pyar] Re: ¿If anidado?

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

Responder a este mensaje
Autor: news
Fecha:  
A: pyar
Asunto: [pyar] Re: ¿If anidado?


On Thu, 17 Sep 2009 14:32:30 -0300, Roberto Alsina <ralsina@???> wrote:

>On Thursday 17 September 2009 13:47:33 guagliap@??? wrote:
>> def firstTrue(cond):
>> """ devuelve True siempre la primera vez que se la ejecuta, las veces
>> subsiguientes evalua la condicion """ stack = inspect.stack()[1] # El
>> stack del programa llamador line = stack[2] # Nro de linea
>> desde la que llame a firstTrue del stack
>>
>> if not "line" in firstTrue.__dict__:
>> # Primera vez que llamo a la funcion
>> firstTrue.line = line
>> return True
>> elif firstTrue.line != line:
>> # Llame a la funcion desde otro punto del programa
>> firstTrue.line = line
>> return True
>>
>> return cond
>
>A ver...
>
>def firstTrue():
>    yield True
>    while True:
>        yield False
>
>ft=firstTrue()
>print ft.next()
>print ft.next()
>print ft.next()
>
>Produce
>
>True
>False
>False
>
>y es un poco más pitónico ;-)



bueno, pero la idea de la función que yo había posteado era que sirviera de una forma
genérica para evitar el if ... break dentro del while, en vez de:

while True:
    <codigo>
    if not <condicion>:
        break

usaría:

while firstTrue (<condicion>):
    <codigo>


Saludos,
Pablo


---------------------------------------------------------------------
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/