class Maillon :
def __init__(self,v) :
self.valeur = v
self.suivant = None
class File :
def __init__(self) :
self.dernier_file = None
def enfile(self,element) :
nouveau_maillon = Maillon(element) #(1)
nouveau_maillon.suivant = self.dernier_file
self.dernier_file = nouveau_maillon #(2)
def est_vide(self) :
return self.dernier_file == None
def affiche(self) :
maillon = self.dernier_file
while maillon != None : #(3)
print(maillon.valeur)
maillon = maillon.suivant #(4)
def defile(self) :
if not self.est_vide() :
if self.dernier_file.suivant == None :
resultat = self.dernier_file.valeur
self.dernier_file = None
return resultat
maillon = self.dernier_file #(5)
while maillon.suivant.suivant != None :
maillon = maillon.suivant
resultat = maillon.suivant.valeur
maillon.suivant = None
return resultat
return None
Commentaire
n1
,n2
etn3
proposées dans l'énoncé. Dans un cadre plus général, une boucle travaillant sur une liste de pièces serait préférable. Voir par exemple la correction proposée ici.