class Arbre:
def __init__(self,racine,filsGauche,filsDroit):
self.root = racine
self.G = filsGauche
self.D = filsDroit
def parcours(self, L = []):
L.append(self.root)
if self.G:
self.G.parcours(L)
if self.D:
self.D.parcours(L)
return L
tree = Arbre(3,
Arbre('+',
Arbre(4, Arbre('*',None,None), Arbre(5,None,None)),
Arbre('/', Arbre(2,None,None), Arbre('-',None,None))),
Arbre(6,
Arbre('+', Arbre(4,None,None), Arbre('*',None,None)),
Arbre(9, Arbre('+',None,None), Arbre(2,None,None))))
L = tree.parcours()
calcul = ''.join(str(i) for i in L)
print (eval(calcul))