[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