[débutant] Problème return avec string
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.
Code:
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 |
C'est bourré de print pour déboguer.
J'ai aussi une fonction dump
Code:
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() |
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:
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 |
Merci de votre aide.