Bonsoir,
Le sujet du post n'est pas très clair, je ne savais pas vraiment quoi mettre. Ma question est plutôt simple, mais je n'ai pas trouvé la réponse, sachant que je ne sais pas vraiment quels mots clés utiliser pour la trouver !
J'ai une classe inventaire qui a comme attribut une liste que je rempli comme ca :
Objet étant un objet de ma classe Objet et Nb un int. C'est la solution qui m'a paru la plus simple, peut-être y a t-il encore plus simple, mais je ne vois pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 list.append((Objet,Nb))
Mon problème vient du fait que je ne sais plus utiliser les méthodes classique des listes que j'utilise normalement. Par exemple, je veux créer une méthode Add qui va ajouter des objets à mon inventaire. Or comment utiliser la méthode index(Objet) de la classe liste dans ce cas ? Par exemple si je veux ajouter un objet à mon inventaire, si il y en a déjà un exemplaire, je veux simplement augmenter la valeur de Nb.
Ne sachant pas faire, pour le moment je me contente de ça, et je trouve ca plutot moche :
J'en appelle donc aux gens plus expérimentés que moi ! Merci,
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 class Inventaire: def __init__(self): self.tab = [] self.tab_nb = [] def Ajouter(self,item,nb): if item in self.tab: i = self.tab.index(item) self.tab_nb[i] = self.tab_nb[i] + nb else: self.tab.append(item) self.tab_nb.append(nb) def Supprimer(self,item,nb): if item in self.tab: i = self.tab.index(item) self.tab_nb[i] = self.tab_nb[i] - nb #ici j'appelle une méthode qui supprime les objets ayant nb à 0.
Siriru
Partager