grazie mille,
stavo pensando anche io ad una cosa del genere ma non so se sia
abbastanza efficiente con molte variabili in lista ...
Per descrivere meglio cosa sto cercando di fare :
Ho una struttura a nodi (m0001,m0002) ,
ogni nodo può contenere una lista di regole
ogni nodo può aggiornare il valore del padre o dei figli del nodo.
m0001
p=['p1=10','p2=20']
m002 regola nodo ('p1==100')
p=['p1=10','p3=p1+10']
naturalmente questo e' un piccolo esempio la struttura potrebbe
espandersi a piacimento..
il problema e' molto simile alla risoluzione di formule in un foglio di
calcolo ..
ciao
Matteo
Il 09/07/2011 14:20, Stefano Dal Pra ha scritto:
Io farei cosi':
a=['p4=p3+10','p1=10', 'p2=p1', 'p3=p1+p2']
n = 0
while a:
na = len(a)
try:
exec(a[n])
except NameError,e:
print e
n+=1
continue
n=0
x = a.pop(0)
provandolo ottengo:
>>> a=['p4=p3+10','p1=10', 'p2=p1', 'p3=p1+p2']
>>> n = 0
>>> while a:
... na = len(a)
... try:
... exec(a[n])
... except NameError,e:
... print e
... n+=1
... continue
... n=0
... x = a.pop(0)
...
>>> p4
30
>>> p3
20
>>> p1
10
>>> p2
10
Ciao
Stefano
2011/7/8 Matteo Boscolo <matteo.bosc...@boscolini.eu
<mailto:matteo.bosc...@boscolini.eu>>
Ciao a tutti,
ho questa lista:
a=['p1=10', 'p2=20', 'p3=p1+p2']
e questa funzione:
def e(var):
for aa in var:
print aa
exec(aa)
print "p3",p3
e(a)
>>>p3 30
adesso le cose si complicano
a=['p4=p3+10','p1=10', 'p2=p1', 'p3=p1+p2']
def e(var):
for aa in var:
print aa
exec(aa)
print "p4",p4
e(a)
Naturalmente qui si rompe tutto ..
Avete qualche link / suggerimento che risolve questo tipo di
problematica??
Grazie mille
Matteo
_______________________________________________
Python mailing list
Python@lists.python.it <mailto:Python@lists.python.it>
http://lists.python.it/mailman/listinfo/python
_______________________________________________
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python
Nessun virus nel messaggio.
Controllato da AVG - www.avg.com <http://www.avg.com>
Versione: 10.0.1388 / Database dei virus: 1516/3754 - Data di
rilascio: 09/07/2011
_______________________________________________
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python