class Maillon:
    def __init__(self, valeur, suivant=None):
        self.valeur = valeur
        self.suivant = suivant

class Pile:
    def __init__(self):
        self.taille = 0 # nombre d'assiettes dans la pile
        self.sommet = None
    
    def empile(self,element) :
        self.sommet = Maillon(element, self.sommet)
    
    def pile_vide(self) :
        return self.sommet is None

    def depile(self) :
        if self.pile_vide() :
            print("la pile est vide")
        else :
            element = self.sommet.valeur
            self.sommet = self.sommet.suivant
            return element
            
    def lire_sommet(self) :
        if self.pile_vide() :
            print("la pile est vide")
        else :
            return self.sommet.valeur
            
p = Pile()
p.empile(1)
p.empile(2)
p.empile(3)
print(p.lire_sommet()) # 3
p.depile()
print(p.lire_sommet()) # 2
p.depile()
print(p.lire_sommet()) # 1
p.depile()
print(p.pile_vide()) # True