mise en forme methode edd remove/iterator

This commit is contained in:
vincent 2018-02-05 20:58:39 +01:00
parent 4e6c57ac3b
commit 408c958f9d

63
cave.py
View File

@ -5,25 +5,68 @@ class Etageres(object):
self.nbetagere=0 self.nbetagere=0
def add_etagere(self,largeur,hauteur): def add_etagere(self,largeur,hauteur):
self.etageres.append(Etagere(largeur,hauteur,self))
self.nbetagere+=1 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): class Etagere(object):
def __init__(self,largeur,hauteur,etageres): def __init__(self,largeur,hauteur,etageres):
self.num_etagere=etageres.nbetagere
self.largeur=largeur self.largeur=largeur
self.hauteur=hauteur self.hauteur=hauteur
self.etageres=etageres self.etageres=etageres
self.bouteilles =[] self.bouteilles =[]
def add_bouteille(self,pos_largeur,pos_hauteur,couleur,appelation,millesime): 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): 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): class Bouteille(object):
@ -31,15 +74,21 @@ class Bouteille(object):
self.pos_largeur=pos_largeur self.pos_largeur=pos_largeur
self.pos_hauteur=pos_hauteur self.pos_hauteur=pos_hauteur
self.couleur=couleur self.couleur=couleur
self.millesime=millesime
self.appelation=appelation self.appelation=appelation
self.etagere=etagere self.etagere=etagere
def __repr__(self): 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=Etageres()
new.add_etagere(30,3) 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 (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]))