# -*- coding: utf-8 -*-
"""
Terminale NSI

TP: Liste chainee

"""

class Maillon:
    """Maillon d'une liste chainee"""
    def __init__(self,valeur=None,suivant=None):
        self.valeur=valeur
        self.suivant=suivant
        
    def __str__(self):
        if self.suivant==None:
            return f"{self.valeur} -> None"
        else:
            return f"{self.valeur} -> {str(self.suivant)}"
        
class Liste_chainee :

    def __init__ ( self ):
        self.sommet = None
      
    def __str__(self):
        if self.sommet is None:
            return"Pas d'element dans la liste"
        else:
            return str(self.sommet)
        
    def ajout_debut ( self , element ):
        m = Maillon ( element , self . sommet )
        self . sommet = m
        
    def suppression_tete ( self ):
        e = self . sommet . element
        self . sommet = self . sommet . suivant
        return e

    def est_vide ( self ):
        return self . sommet == None



chaine=Liste_chainee()
chaine.ajout_debut('FRANCE')
print(chaine.est_vide())
print(chaine)
