class ArbreBinaire:
    def __init__(self, racine, filsGauche, filsDroit):
        self.racine = racine
        self.filsGauche = filsGauche
        self.filsDroit = filsDroit

    def affiche(self, space = 0):
        spaces = "  " * space
        print(spaces,self.racine)
        if self.filsGauche is not None:
            self.filsGauche.affiche(space+1)
        if self.filsDroit is not None:
            self.filsDroit.affiche(space+1)
            
# ArbreBinaire(racine, fils gauche, fils droit)
t1 = ArbreBinaire('B',
                  ArbreBinaire('D',None,None),
                  ArbreBinaire('E',
                               ArbreBinaire('G',None,None),
                               ArbreBinaire('H',None,None)
                               )
                  )

t2 = ArbreBinaire('C',
                  ArbreBinaire('-',None,None),
                  ArbreBinaire('F',
                               ArbreBinaire('I',None,None),
                               ArbreBinaire('-',None,None)
                               )
                  )

tree = ArbreBinaire('A', t1, t2)
            
tree.affiche()