Un arbre est un ensemble de noeuds avec des branches les reliants avec la contrainte que si l'on parcours les arrêtes sans faire demi tour, il est impossible de revenir à son point de départ. Les noeuds portents une étiquettes.  Mathématiquement on peut le modéliser
par inductition : 
un arbre est ou bien un entier avec un nom ou bien  un noeud qui a une liste d'enfants. Chacun des enfants est un arbre.
Pour que cela soit facile à manipuler, on utiliser les classes en Python. Une classe est un type d'objet comme "str" ou "int" que l'on définit nous même pour satisfaire nos propre besoins. 
 
Le but de cet exerice estde définir une classe arbre de manière "inductive".
      
      Il y a deux manières de définir une fonction en python. La commande  lambda et la 
commande   def
     
f=lambda x:2*x
print (f(10))
print (f("plop"))
def  ma_fonction(n):
    for entier in range(n):
        print (entier)
    return (n**2)
     
    Une classe est un objet personnalisé. Il peut contenir d'autres objets ou fonctions.
class Fraction:
	def __init__(self, numer=1,denom=1):
		self.denominateur=denom
		self.numerateur=numer
	def check(self):
		return (type(self.denominateur)==type(1)) and (type(self.numerateur)==type(1)) and (self.denominateur!=0)
	    
A=Fraction(1,2)
print (A)
print (A.numerateur)