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