[python] for + eval()

Tomas Brabenec konference na brabenec.net
Čtvrtek Prosinec 22 12:50:25 CET 2005


aha, no vida, tak ja to nejak podle Vasich rad zkusim a dam vedet, jak 
jsem to nakonec vyresil.

Tomas Brabenec
http://brabenec.net
 



Tomas Fulajtar napsal(a):
> Dobry den,
>   stejne ale myslim, ze logika uvnitr tohoto cyklu
> musi korespondovat s podminkou - uvedomme si ale, ze v
> pythonu je cyklus for urcen primarne pro prochazeni
> nejake sequence.
> Pokud v tomhle pripade chcete spis provadet nejaky
> cyklus zalozeny na podmince, volil bych spis while
> apod.
>
> dynamicky pomoci eval by to snad slo takhle:
>
> x=1
> y=2
> podminka = "x>y"
>
> while eval(podminka)
>   necoudelej
>
>
> V tom neco udelej s samozrejme musi nec odit s
> promenyma pouzityma v podmince, jinka cyklus neskonci.
>
>
> jina varianta je pouzit ruzne iteratory, pripadne
> objekty a polymorfismus ....
>
>   Zdravim, Tomas Fulajtar 
>
> --- Tomas Brabenec <konference na brabenec.net> wrote:
>
>   
>> Potøebuji dosáhnout toho, ¾e chci provádìt pøíkaz
>> for, ale nevím na èem 
>> cyklus bude závislý.
>>
>> Mù¾e to být
>>
>> for x in range(1,5)
>> for x > y:
>> for x in ["a","b"]
>> ...
>>
>> Je to uz pochopitelnejsi ?
>>
>> TB
>>
>>
>> Petr Prikryl napsal(a):
>>     
>>> Taky mi to pøipadá divné. 
>>> Proè se má ten eval vùbec pou¾ívat?
>>> Pokud z nìjakého dùvodu ano, proè je v nìm 
>>> "for %s:"? Je to jakoby zaèátek pøíkazu cyklu, 
>>> kterému se musí správnì dosadit "x in cont",
>>> ale chybí tomu tìlo cyklu. Pokud se nemýlím, 
>>> eval() vy¾aduje zadání výrazu a ne pøíkazu.
>>> Mo¾ná by pomohlo místo pøíkazu for pou¾ít
>>>       
>> generátor
>>     
>>> seznamu (list comprehension). eval() mù¾e dostat
>>> kontext v podobì dal¹ích parametrù globals
>>> a locals. Ka¾dopádnì to chce mít jasno v tom,
>>> èeho se má dosáhnout.
>>>
>>> pepr
>>>
>>>   
>>>       
>>>> Mìlo by to vypadat napr. takhle:
>>>>
>>>> data = []              
>>>> for x in range (1,5):
>>>>    for sub_object in object.kids:
>>>>        data.append(parsetag(self,sub_object))
>>>>
>>>> Je to jen vytazek z kodu.
>>>>
>>>> -- 
>>>> Tomas Brabenec
>>>> http://brabenec.net
>>>>
>>>> Jaroslav Pachola napsal(a):
>>>>     
>>>>         
>>>>> No ja nevim, mohl bys prosim napsat 
>>>>> bez evalu priklad toho cyklu, jak 
>>>>> by to v praxi melo vypadat? Mne to 
>>>>> prijde nejake divne.
>>>>>       
>>>>>           
>>> _______________________________________________
>>> Python mailing list
>>> Python na py.cz
>>> http://www.py.cz/mailman/listinfo/python
>>>
>>>
>>>   
>>>       
>> -- 
>> Tomas Brabenec
>> http://brabenec.net
>>  
>>
>> _______________________________________________
>> Python mailing list
>> Python na py.cz
>> http://www.py.cz/mailman/listinfo/python
>>
>>     
>
>
> __________________________________________________
> Do You Yahoo!?
> Tired of spam?  Yahoo! Mail has the best spam protection around 
> http://mail.yahoo.com 
>   
> ------------------------------------------------------------------------
>
> _______________________________________________
> Python mailing list
> Python na py.cz
> http://www.py.cz/mailman/listinfo/python



Další informace o konferenci Python