Bonsoir,
Je programme une petite appli qui utilise un arbre.
Chaque élément a son parent, et une liste de ses enfants.
Je veux identifier chaque élément par un index avec les mêmes caractéristiques que le sectionnement en Latex ( 1.2 1.2.1 etc).
Pour ce faire, j'ai une petite fonction qui calcule l'index de manière récursive en remontant.
C'est bourré de print pour déboguer.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 def getStringIndex(self, indStr =''): if (indStr == ''): print("starting compute index") print ('getStringIndex ', indStr) print ('name', self.m_Name) if not (self.m_Parent is None): indStr = "." +str(self.m_Parent.getChildIndex(self)) print ('sub routine', indStr) self.m_Parent.getStringIndex(indStr) else: print ('return string', indStr) return indStr
J'ai aussi une fonction dump
Mon problème : le calcul de l'index semble être ok mais aucune string n'est renvoyée ! Voir sortie. Humm...je vois vraiment pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 def dump(self): print("name = ", self.m_Name) print("strIndex",self.getStringIndex()) #print ("dump") for child in self.m_Children: child.dump()
Merci de votre aide.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 name = 03 starting compute index getStringIndex name 03 sub routine .3 getStringIndex .3 name root return string .3 strIndex None
Partager