Bonsoir,

Je suis débutant en python et je suis confronté à un problème.

Dans le cadre d'un exercice PILE et FILE, j'aimerais pouvoir récupérer la valeur d'un objet d'une méthode de classe à partir d'une autre classe.

Voici mon code:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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()
Merci de votre aide.