1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
|
# Methode pile qui permet de recuperer la derniere valeur qui a été ajoutée
# et qui permet aussi de l'enlever de la PILE.
# Les valeurs sont stockées dans une liste.
class Pile(object):
def __init__(self,taille):
assert isinstance (taille,int) and taille > 0
self.taille = taille
self.liste=[0]*taille
self.pointeur=0
contenu = self.liste
# Permet de mettre des valeurs
def push(self,donnee):
if self.full():
print ("Votre liste a atteint sa capacité maximal")
else:
self.liste[self.pointeur] = donnee
self.pointeur = self.pointeur + 1
# Permet d'enlever des valeurs
def pop(self):
if self.empty():
print ("Votre liste est vide")
else:
self.pointeur = self.pointeur - 1
self.liste[self.pointeur] = 0
# Si notre liste est vide
def empty(self):
if self.pointeur == 0:
return True
else:
return False
# Si notre liste est remplit
def full(self):
if self.pointeur == self.taille:
return True
else:
return False
# C'est une "file d'attente", on recupere l'objet le plus vieux
# et on l'enlève de la pile pour le mettre dans une nouvelle liste
class File(Pile):
def __init__(self,taille):
super(File,self).__init__(taille)
#--------------------------------------------
def recupere(self):
print (Pile.__init__.self.liste)
# J'effectue un test pour voir s'il affiche la premiere valeur de la
# liste de Pile mais je n'y arrive pas.
#--------------------------------------------
# def recupere(self):
# print (self.list[0])
if __name__=="__main__":
r1= Pile(3)
print (r1.liste)
r1.push(3)
r1.push(6)
print (r1.liste)
r2 = File(3)
print (r2.liste)
r2.recupere() |
Partager