[PIPython] problema con i nodi
Ernesto
e.picardi
Ven 19 Nov 2004 15:16:54 CET
Ciao a tutti,
Ho una lista di nodi come la seguente:
Nodo1=Nodo("A",0.1,None,None,1)
Nodo2=Nodo("B",0.2,None,None,1)
Nodo3=Nodo("C",0.3,None,None,1)
Nodo4=Nodo("D",0.4,None,None,1)
Nodo6=Nodo("nodo6",0.2,Nodo1,Nodo2,0)
Nodo7=Nodo("nodo7",0.3,Nodo3,Nodo4,0)
Nodo8=Nodo("nodo8",0.1,Nodo6,Nodo7,0)
Nodo5=Nodo("E",0.5,None,None,1)
Nodo9=Nodo("Root",None,Nodo8,Nodo5,None).
dove il Nodo9 è la radice. Vorrei sostituire ciascun nodo con il suo
specifico valore, partendo dalla radice, in modo da ottenere un albero
uguale al seguente:
Albero=Nodo(9,None,Nodo(8,0.01,Nodo(6,0.01,Nodo(1,0.01,None,None,1),Nodo(2,0
.01,None,None,1),0),Nodo(7,0.01,Nodo(3,0.01,None,None,1),Nodo(4,0.01,None,No
ne,1),0),0),Nodo(5,0.01,None,None,1),None)
La principale difficoltà è che il valore di ciascun nodo è un'istanza in
accordo alla seguente classe:
class Nodo:
'''definisci la struttura del nodo'''
def __init__(self, contenuto, br=None, sinistra=None, destra=None,
tip=None,seq=None):
self.c = contenuto # node name
self.b = br # branch length
self.s = sinistra # left
self.d = destra # rigth
self.t = tip # is 1 for a tip or 0 for other nodes
self.seq = seq
Potreste suggerirmi che strada prendere per ottenere Albero? Vorrei usare la
ricorsione ma ho dei problemi.
Grazie a tutti in anticipo
Ernesto
More information about the Python
mailing list