From 408c958f9de66c42fe7ca45987b2f28338e093c8 Mon Sep 17 00:00:00 2001 From: vincent Date: Mon, 5 Feb 2018 20:58:39 +0100 Subject: [PATCH] mise en forme methode edd remove/iterator --- cave.py | 63 ++++++++++++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 56 insertions(+), 7 deletions(-) diff --git a/cave.py b/cave.py index 0266d27..96cadb4 100644 --- a/cave.py +++ b/cave.py @@ -5,25 +5,68 @@ class Etageres(object): self.nbetagere=0 def add_etagere(self,largeur,hauteur): - - self.etageres.append(Etagere(largeur,hauteur,self)) self.nbetagere+=1 + self.etageres.append(Etagere(largeur,hauteur,self)) + + + def remove_etagere(self,etagere): + self.etageres.remove(etagere) + + self.nbetagere-=1 + + return "etagere {} suprimer".format(etagere.num_etagere) + + def nbbouteille (self): + i=0 + for etagere in self.etageres: + for bouteille in etagere.bouteilles: + i += 1 + + return i + + def nbbouteillecouleur(self,couleur): + i = 0 + for etagere in self.etageres: + for bouteille in etagere: + if bouteille.couleur==couleur: + i += 1 + return i + def __iter__(self): + return iter(self.etageres) class Etagere(object): def __init__(self,largeur,hauteur,etageres): + self.num_etagere=etageres.nbetagere self.largeur=largeur self.hauteur=hauteur self.etageres=etageres self.bouteilles =[] def add_bouteille(self,pos_largeur,pos_hauteur,couleur,appelation,millesime): - self.bouteilles.append(Bouteille(pos_largeur,pos_hauteur,couleur,appelation,millesime,self)) + for bouteille in self.bouteilles: + if (pos_hauteur>self.hauteur or pos_largeur> self.largeur or pos_largeur < 1 or pos_largeur < 1): + return "bouteille positioné en dehors des emplacement" + if (pos_largeur==bouteille.pos_largeur and pos_hauteur==bouteille.pos_hauteur): + return "une bouteille existe déja a cette emplacement" + self.bouteilles.append(Bouteille(pos_largeur,pos_hauteur,couleur,appelation,millesime,self)) + return "OK" def remove_bouteille(self,pos_largeur,pos_hauteur): - pass + i=0 + for bouteille in self.bouteilles: + if (pos_largeur==bouteille.pos_largeur and pos_hauteur==bouteille.pos_hauteur): + self.bouteilles.remove(bouteille) + return "bouteille suprimé" + else: + i += 1 + return "aucune bouteille troucé a cette emplacement" - + def __repr__(self): + return "etagére numéros {} de largeur {} et de hauteur {} et contient {} bouteille(s) ".format(self.num_etagere,self.largeur,self.hauteur,len(self.bouteilles)) + + def __iter__(self): + return iter(self.bouteilles) class Bouteille(object): @@ -31,15 +74,21 @@ class Bouteille(object): self.pos_largeur=pos_largeur self.pos_hauteur=pos_hauteur self.couleur=couleur + self.millesime=millesime self.appelation=appelation self.etagere=etagere def __repr__(self): - return "bouteille: pos_largeur({}), pos_hauteur({}), couleur({}),appelation'({}),".format(self.pos_largeur, self.pos_hauteur, self.couleur,self.appelation) + return "bouteille: pos_largeur {} , pos_hauteur {}, couleur {} , appelation {}, millesime {} \n".format(self.pos_largeur, self.pos_hauteur, self.couleur,self.appelation,self.millesime) new=Etageres() new.add_etagere(30,3) -new.etageres[0].add_bouteille(28,2,"rouge","saint emilion",2005) +print(new.etageres[0].add_bouteille(28,2,"rouge","saint emilion",2005)) +print(new.etageres[0].add_bouteille(24,1,"blanc","gewurtz",2010)) +print(new.etageres[0].add_bouteille(23,2,"rouge","saint emilion",2006)) print (new.etageres[0].bouteilles) +print ("vos etagére contiennes {} bouteille".format(new.nbbouteille())) +print ("vos etagére contiennes {} bouteille de rouge".format(new.nbbouteillecouleur("rouge"))) +print(new.remove_etagere(new.etageres[0]))