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>