[python] for + eval()

Tomas Fulajtar ful_tom na yahoo.com
Čtvrtek Prosinec 22 12:38:55 CET 2005


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 



Další informace o konferenci Python