# Définition d'une classe File class File: def __init__(self,v=100*[None]): self.valeurs=v self.sortie=0 if self.valeurs[0]!=None: self.entree=len(self.valeurs) else: self.entree=0 def enfile(self,n): if self.entree>=len(self.valeurs): self.valeurs.append(n) else: self.valeurs[self.entree]=n self.entree=self.entree+1 def defile(self): if self.file_vide(): print("La file est vide") else: n=self.valeurs[self.sortie] self.valeurs[self.sortie]=None self.sortie=self.sortie+1 return n def file_vide(self): return self.taille()==0 def taille(self): return self.entree-self.sortie def affiche(self): if self.file_vide(): print("La file est vide") else: print("Sortie <- ",end='') for n in self.valeurs: if n!=None: print(n,' <- ',end='') print("Entrée") # ###################################################### # Programme principal : f=File([1,2,3,4]) print("f=",f.valeurs) print("taille = ",f.taille()) print("on enfile 5") f.enfile(5) print("f=",f.valeurs) print("on enfile 6") f.enfile(6) print("f=",f.valeurs) print("defile :",f.defile()) print("f=",f.valeurs) print("taille = ",f.taille()) print("defile :",f.defile()) print("f=",f.valeurs) print("affiche : ",end='') f.affiche() print("taille = ",f.taille()) print('\n---------------------------\n') print('Nouvelle file f vide au départ :') f=File() print("f=",f.valeurs) print("affiche : ",end='') f.affiche() print("taille = ",f.taille()) print("on enfile A") f.enfile('A') print("on enfile B") f.enfile('B') print("on enfile C") f.enfile('C') print("f=",f.valeurs) print("affiche : ",end='') f.affiche() print("taille = ",f.taille()) print("defile :",f.defile()) print("f=",f.valeurs) print("defile :",f.defile()) print("f=",f.valeurs) print("on enfile D") f.enfile('D') print("f=",f.valeurs) print("affiche : ",end='') f.affiche() print("taille = ",f.taille())