<font size="4"><span style="color: rgb(204, 0, 0);">Hi everybody, I would appreciate your help on this one<br>In this program I want to create 2 concepts each with 2 or 3 properties<br>My first concept is magasin(shop in french) and my shop has 3 attributes: nom(name in french), items and ville (city in french)<br>
the second one is items and its 2 attributes are </span></font><font size="4"><span style="color: rgb(204, 0, 0);">nom(name in french) and prix (price in french)<br>I want to be able to show a modele with the name of my magasins (stores) and the city theyre located in, what are the names of the items i have in each magasin and their prices.<br>
<br></span></font><font size="4"><span style="color: rgb(204, 0, 0);">Here's my code:</span></font><br><br>class Magasin:<br> """<br> Le concept magasin pour la gestion d'inventaire des items de golf.<br>
"""<br> def __init__(self, nom ="", items =[], ville="" ):<br> self.nom = nom<br> self.items = items<br> self.vile = ville<br> <br> def set_nom(self, nom):<br>
self.nom = nom<br><br> nom = property(None, set_nom)<br><br> def set_items(self, items):<br> self.items = items<br><br> items = property(None, set_items)<br><br> def set_ville(self, ville):<br> self.ville = ville<br>
<br> items = property(None, set_ville)<br><br> def __str__(self):<br> return self.nom<br><br>class Item:<br> """<br> Le concept item pour la gestion d'inventaire des items de golf.<br>
"""<br> def __init__(self, nom ="", prix = 100):<br> self.nom = nom<br> self.prix = prix<br><br> def set_nom(self, nom):<br> self.nom = nom<br><br> nom = property(None, set_nom)<br>
<br> def set_prix(self, prix):<br> self.prix = prix<br><br> prix = property(None, set_prix)<br><br> def __str__(self):<br> return self.nom<br><br>class Modele:<br> """<br> La definition d'un modele avec les magasins.<br>
"""<br> def __init__(self, nom_fichier, magasins =[]):<br> self.nom_fichier = nom_fichier<br> self.magasins = magasins<br><br> def set_nom_fichier(self, nom_fichier):<br> self.nom_fichier = nom_fichier<br>
<br> nom_fichier = property(None, set_nom_fichier)<br><br> def set_magasins(self, magasins):<br> self.magasins = magasins<br><br> magasins = property(None, set_magasins)<br><br> def sauvegarder(self):<br>
modele_fichier = open(self.nom_fichier, 'w')<br> for magasin in self.magasins:<br> modele_fichier.write("===MAGASIN===" + "\n")<br> modele_fichier.write("nom : " + magasin.nom + "\n")<br>
modele_fichier.write("items : " + "\n")<br> for item in magasin.items:<br> modele_fichier.write(" ---ITEM---" + "\n")<br> modele_fichier.write(" nom : " + item.nom + "\n")<br>
modele_fichier.write(" prix : " + item.prix + "\n")<br> modele_fichier.write(" ---FIN ITEM---" + "\n")<br> modele_fichier.write("===FIN MAGASIN===" + "\n")<br>
modele_fichier.close()<br><br> def charger(self):<br> magasins = []<br> try:<br> modele_fichier = open(self.nom_fichier, 'r')<br> except IOError:<br> print("Le fichier " + self.nom_fichier + " n'existe pas.")<br>
else: <br> fin_fichier = False<br> while not fin_fichier:<br> ligne = modele_fichier.readline()<br> if ligne == "":<br> self.set_magasins(magasins)<br>
modele_fichier.close()<br> fin_fichier = True<br> break <br> magasin = Magasin()<br> items = []<br> fin_magasin = False<br>
while not fin_magasin:<br> ligne = modele_fichier.readline().strip()<br> if ligne.startswith("===FIN MAGASIN==="):<br> magasin.set_items(items)<br>
magasins.append(magasin)<br> fin_magasin = True<br> elif ligne.startswith("nom"):<br> nom = ligne.split(':')[1]<br>
magasin.set_nom(nom.strip())<br> elif ligne.startswith("---ITEM---"):<br> item = Item()<br> fin_item = False<br> while not fin_item:<br>
ligne = modele_fichier.readline().strip()<br> if ligne.startswith("nom"):<br> nom = ligne.split(':')[1] <br> item.set_nom(nom.strip())<br>
elif ligne.startswith("prix"):<br> prix = ligne.split(':')[1] <br> item.set_prix(float())<br> elif ligne.startswith("---FIN ITEM---"):<br>
items.append(item)<br> fin_item = True<br><br> def vide(self):<br> if self.magasins == []:<br> return True<br> else:<br> return False<br>
<br> def initialiser(self):<br> <br> magasin01 = Magasin ("Swing de golf")<br> <br> magasin02 = Magasin ("Golftown")<br> <br> magasin03 = Magasin ("PointGolf")<br>
<br><br> item01 = Item ("Ensemble de fers Titleist")<br> item01.set_prix("1099.99")<br> <br> item02 = Item ("Ensemble de fers Callaway")<br> item02.set_prix("1299.99")<br>
<br> item03 = Item ("Ensemble de fers Taylormade Burner Graphite")<br> item03.set_prix("2499.99")<br> <br> item04 = Item ("Ensemble de fers Cobra")<br> item04.set_prix("999.99")<br>
<br> item05 = Item ("Ensemble de fers Ping")<br> item06.set_prix("1399.99")<br> <br> item06 = Item ("Ensemble de fers Ben Hogan")<br> item06.set_prix("1199.99")<br>
<br> items = [item01, item02, item03, item04, item05, item06]<br> magasin01.set_items(items)<br><br> self.set_magasins([magasin01])<br><br> self.sauvegarder()<br><br> def afficher(self):<br>
print("")<br> print("Magasins")<br> for magasin in self.magasins:<br> print("")<br> print(magasin)<br> for item in magasin.items:<br> print(item)<br>
<br><br>if __name__ == '__main__': <br> modele = Modele()<br> nom_fichier = "magasinmodele.txt"<br> modele.charger(nom_fichier)<br> if modele.vide():<br> modele.initialiser(nom_fichier)<br>
modele.afficher()<br><br><font size="4"><span style="color: rgb(204, 0, 0);">And here's my error :</span></font><br><br>Traceback (most recent call last):<br> File "F:\School\University\Session 4\Programmation SIO\magasingolfmodele.py", line 187, in <module><br>
modele = Modele()<br>TypeError: __init__() takes at least 2 arguments (1 given)<br><br><br><font size="4"><span style="color: rgb(204, 0, 0);">Thank You!!!</span></font><br clear="all"><br>-- <br>Marc-O. Rompré<br><br>