[Python] Liste con Variabili

Matteo Boscolo matteo.boscolo a boscolini.eu
Dom 10 Lug 2011 08:24:12 CEST


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.boscolo a boscolini.eu 
> <mailto:matteo.boscolo a 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 a lists.python.it <mailto:Python a lists.python.it>
>     http://lists.python.it/mailman/listinfo/python
>
>
>
> _______________________________________________
> Python mailing list
> Python a 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
>

-------------- parte successiva --------------
Un allegato HTML č stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20110710/b8dc010b/attachment.html>


Maggiori informazioni sulla lista Python