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)) 
