Io farei cosi':<br><br>a=['p4=p3+10','p1=10', 'p2=p1', 'p3=p1+p2']<br>n = 0<br>while a:<br>    na = len(a)<br>    try:<br>        exec(a[n])<br>    except NameError,e:<br>        print e<br>

        n+=1<br>        continue<br>    n=0<br>    x = a.pop(0)<br><br><br>provandolo ottengo:<br><br>>>> a=['p4=p3+10','p1=10', 'p2=p1', 'p3=p1+p2']<br>>>> n = 0<br>>>> while a:<br>

...     na = len(a)<br>...     try:<br>...         exec(a[n])<br>...     except NameError,e:<br>...         print e<br>...         n+=1<br>...         continue<br>...     n=0<br>...     x = a.pop(0)<br>... <br>>>> p4<br>

30<br>>>> p3<br>20<br>>>> p1<br>10<br>>>> p2<br>10<br><br>Ciao<br><br>Stefano<br><div class="gmail_quote">2011/7/8 Matteo Boscolo <span dir="ltr"><<a href="mailto:matteo.boscolo@boscolini.eu">matteo.boscolo@boscolini.eu</a>></span><br>

<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Ciao a tutti,<br>
ho questa lista:<br>
a=['p1=10', 'p2=20', 'p3=p1+p2']<br>
<br>
e questa funzione:<br>
def e(var):<br>
    for aa in var:<br>
        print aa<br>
        exec(aa)<br>
    print "p3",p3<br>
e(a)<br>
>>>p3 30<br>
<br>
adesso le cose si complicano<br>
<br>
a=['p4=p3+10','p1=10', 'p2=p1', 'p3=p1+p2']<br>
<br>
def e(var):<br>
    for aa in var:<br>
        print aa<br>
        exec(aa)<br>
    print "p4",p4<br>
e(a)<br>
<br>
Naturalmente qui si rompe tutto ..<br>
<br>
Avete qualche link / suggerimento che risolve questo tipo di problematica??<br>
<br>
Grazie mille<br>
Matteo<br>
______________________________<u></u>_________________<br>
Python mailing list<br>
<a href="mailto:Python@lists.python.it" target="_blank">Python@lists.python.it</a><br>
<a href="http://lists.python.it/mailman/listinfo/python" target="_blank">http://lists.python.it/<u></u>mailman/listinfo/python</a><br>
</blockquote></div><br>