<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
<title></title>
</head>
<body text="#000000" bgcolor="#ffffff">
grazie mille,<br>
stavo pensando anche io ad una cosa del genere ma non so se sia
abbastanza efficiente con molte variabili in lista ...<br>
<br>
Per descrivere meglio cosa sto cercando di fare :<br>
<br>
Ho una struttura a nodi (m0001,m0002) ,<br>
ogni nodo può contenere una lista di regole<br>
ogni nodo può aggiornare il valore del padre o dei figli del nodo.<br>
m0001<br>
p=['p1=10','p2=20']<br>
m002 regola nodo ('p1==100')<br>
p=['p1=10','p3=p1+10']<br>
naturalmente questo e' un piccolo esempio la struttura potrebbe
espandersi a piacimento..<br>
<br>
il problema e' molto simile alla risoluzione di formule in un foglio
di calcolo ..<br>
<br>
ciao<br>
Matteo<br>
<br>
<br>
Il 09/07/2011 14:20, Stefano Dal Pra ha scritto:
<blockquote
cite="mid:CAG8zrU7Y5zeWSyPSmDAJeDGrBZNwtbquVO07J8qjfocxEP__9g@mail.gmail.com"
type="cite">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
moz-do-not-send="true"
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>
_______________________________________________<br>
Python mailing list<br>
<a moz-do-not-send="true" href="mailto:Python@lists.python.it"
target="_blank">Python@lists.python.it</a><br>
<a moz-do-not-send="true"
href="http://lists.python.it/mailman/listinfo/python"
target="_blank">http://lists.python.it/mailman/listinfo/python</a><br>
</blockquote>
</div>
<br>
<pre wrap="">
<fieldset class="mimeAttachmentHeader"></fieldset>
_______________________________________________
Python mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Python@lists.python.it">Python@lists.python.it</a>
<a class="moz-txt-link-freetext" href="http://lists.python.it/mailman/listinfo/python">http://lists.python.it/mailman/listinfo/python</a>
</pre>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<p class="avgcert" color="#000000" align="left">Nessun virus nel
messaggio.<br>
Controllato da AVG - <a moz-do-not-send="true"
href="http://www.avg.com">www.avg.com</a><br>
Versione: 10.0.1388 / Database dei virus: 1516/3754 - Data di
rilascio: 09/07/2011</p>
</blockquote>
<br>
</body>
</html>