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

Reply via email to