Bonjour,
Je travail sur un projet en python dans lequel un auteur peut créer des titres de livres qui seront ajoutés à sa collection. Un client peut acheter les livres en fonction du titre et du stock. Je ne comprend pas pourquoi la variable stock ne renvoie aucune valeur. Pouvez-vous m'éclairer svp ?
Modifié par BaldFox (22 Apr 2022 - 18:47)
Je travail sur un projet en python dans lequel un auteur peut créer des titres de livres qui seront ajoutés à sa collection. Un client peut acheter les livres en fonction du titre et du stock. Je ne comprend pas pourquoi la variable stock ne renvoie aucune valeur. Pouvez-vous m'éclairer svp ?
class Personne:
def __init__(self, nom, prenom):
self.nom = nom
self.prenom = prenom
@classmethod
def sePresenter(self):
nom = input('Entrez votre nom : \n')
prenom = input('Entrez votre prénom :\n')
return self(nom, prenom)
def set_nom(self, nom):
self.nom = nom
def get_nom(self, nom):
return self.nom
def set_prenom(self, prenom):
self.prenom = prenom
def get_prenom(self, prenom):
return self.prenom
class Auteur(Personne):
def __init__(self, nom, prenom, stock):
super().__init__(nom, prenom)
self.oeuvre = []
self.stock = stock
def listerOeuvre(self):
for i in self.oeuvre:
print(i)
def set_oeuvre(self, oeuvre):
self.oeuvre = oeuvre
def get_oeuvre(self, oeuvre):
return self.oeuvre
def ecrireUnLivre(self):
number = input('[->Créer un/des livre(s)] Entrez le nombre de livre\n')
for i in range(1, int(number)+ 1, 1):
_titre = input('[->Livre n°' + str(i) + '] Insérez un titre :\n')
self.stock = input('[Stock] : ')
self.oeuvre.append(_titre)
return Livre(_titre, self.stock, self.nom, self.prenom)
class Livre(Auteur):
def __init__(self, _titre, nom, prenom, stock):
super().__init__(nom, prenom)
self._titre = _titre
self.stock = stock
def print(self):
print(self.get_titre())
def set_titre(self, _titre):
self._titre = _titre
def get_titre(self):
return self._titre
class Client(Personne):
def __init__(self, nom, prenom):
super().__init__(nom, prenom)
class Bibliotheque(Auteur, Client):
def __init__(self, nom, oeuvre, stock):
super().__init__(nom, oeuvre, stock)
self.oeuvre = oeuvre
self.stock = stock
def inventaire(self):
for i in self.oeuvre:
print(i, '[Stock] :', self.stock)
return self.stock
def acheterUnLivre(self, auteur, catalogue):
titre = input('[->Acheter un livre] Insérez le titre du livre \n')
stock = Bibliotheque.inventaire
for i in range(len(catalogue)):
if titre == catalogue[i]:
""" nb = input('Combien en voulez-vous ? \n') """
print(self.stock)
""" if int(self.stock) >= int(nb):
print('[->Bon] Votre commande a été envoyée !') """
def start_engine():
auteur1 = Auteur.sePresenter()
auteur1.ecrireUnLivre()
client = Client.sePresenter()
Bibliotheque.acheterUnLivre(auteur = auteur1, catalogue = ['polar', 'test1', 'test2'])
if __name__ == "__main__":
start_engine()
Modifié par BaldFox (22 Apr 2022 - 18:47)