diff --git a/cave.py b/cave.py index 96cadb4..9884299 100644 --- a/cave.py +++ b/cave.py @@ -1,61 +1,63 @@ class Etageres(object): def __init__(self): - self.etageres=[] - self.nbetagere=0 - - def add_etagere(self,largeur,hauteur): - self.nbetagere+=1 - self.etageres.append(Etagere(largeur,hauteur,self)) - + self.etageres = [] + self.nbetagere = 0 - def remove_etagere(self,etagere): - self.etageres.remove(etagere) - - self.nbetagere-=1 - - return "etagere {} suprimer".format(etagere.num_etagere) + def add_etagere(self, largeur, hauteur): + self.nbetagere += 1 + self.etageres.append(Etagere(largeur, hauteur, self)) - def nbbouteille (self): - i=0 - for etagere in self.etageres: - for bouteille in etagere.bouteilles: - i += 1 - - return i - def nbbouteillecouleur(self,couleur): + def nbbouteille(self): i = 0 for etagere in self.etageres: - for bouteille in etagere: - if bouteille.couleur==couleur: - i += 1 + for bouteille in etagere: + 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 remove_etagere(self, etagere): + self.etageres.remove(etagere) + + self.nbetagere -= 1 + + return "etagere {} suprimer".format(etagere.num_etagere) + 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 __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): + def add_bouteille(self, pos_largeur, pos_hauteur, couleur, appelation, millesime): for bouteille in self.bouteilles: - if (pos_hauteur>self.hauteur or pos_largeur> self.largeur or pos_largeur < 1 or pos_largeur < 1): + 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): + 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)) + self.bouteilles.append( + Bouteille(pos_largeur, pos_hauteur, couleur, appelation, millesime, self)) return "OK" - def remove_bouteille(self,pos_largeur,pos_hauteur): - i=0 + def remove_bouteille(self, pos_largeur, pos_hauteur): + i = 0 for bouteille in self.bouteilles: - if (pos_largeur==bouteille.pos_largeur and pos_hauteur==bouteille.pos_hauteur): + if (pos_largeur == bouteille.pos_largeur and pos_hauteur == bouteille.pos_hauteur): self.bouteilles.remove(bouteille) return "bouteille suprimé" else: @@ -63,32 +65,33 @@ class Etagere(object): 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)) + 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): - - def __init__(self,pos_largeur,pos_hauteur,couleur,appelation,millesime,etagere): - self.pos_largeur=pos_largeur - self.pos_hauteur=pos_hauteur - self.couleur=couleur - self.millesime=millesime - self.appelation=appelation - self.etagere=etagere + + def __init__(self, pos_largeur, pos_hauteur, couleur, appelation, millesime, etagere): + 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 {}, millesime {} \n".format(self.pos_largeur, self.pos_hauteur, self.couleur,self.appelation,self.millesime) + 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) -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"))) +new = Etageres() +new.add_etagere(30, 3) +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]))