Projet Liste de course en POO
# Python
# Module json
# Classes
Voici la question de l'étudiant :
################# PROJET Liste de course POO
from dataclasses import dataclass
import json
@dataclass
class Liste:
nom : str
liste_data : list = None
def __post_init__(self):
self.liste_data = []
print (f"Le nom de votre liste est : {self.nom}")
def ajouter(self, ajouter: str):
if ajouter.capitalize() not in self.liste_data:
self.liste_data.append(ajouter.capitalize())
print(f" Dans ta liste tu as maintenant: {self.liste_data}")
else:
print(f"L'élement existe déjà")
def enlever(self, enlever: str):
self.liste_data.remove(enlever.capitalize())
print(f" Element '{enlever.capitalize()}' enelever. Dans ta liste tu as maintenant: {self.liste_data}")
def sauvegarder(self):
with open(f"{self.nom}.json", "w", encoding="utf-8") as JJ:
json.dump(self.liste_data, JJ)
LS = Liste("testRAF")
LS2222 = Liste('Ma_course')
LS.ajouter('Pomme')
LS.ajouter('Orange')
LS.enlever('orange')
LS2222.ajouter('kiwi')
LS.sauvegarder()
Salut,
On pourrait ajouter une validation de type dans ajouter.
Dans enlever, il faudrait vérifier si l'élément est bien dans la liste.
Aller, pour le fun on peut ajouter une méthode charger.
from dataclasses import dataclass
import json
@dataclass
class Liste:
nom : str
liste_data : list = None
def __post_init__(self):
self.liste_data = []
print (f"Le nom de votre liste est : {self.nom}")
def ajouter(self, ajouter: str):
if not isinstance(ajouter, str):
print("Erreur : vous devez ajouter une chaîne de caractères")
return
if ajouter.capitalize() not in self.liste_data:
self.liste_data.append(ajouter.capitalize())
print(f"Dans ta liste tu as maintenant: {self.liste_data}")
else:
print(f"L'élément existe déjà")
def enlever(self, enlever: str):
if enlever.capitalize() in self.liste_data:
self.liste_data.remove(enlever.capitalize())
print(f"Élément '{enlever.capitalize()}' enlevé. Dans ta liste tu as maintenant: {self.liste_data}")
else:
print(f"L'élément '{enlever.capitalize()}' n'est pas dans la liste")
def sauvegarder(self):
with open(f"{self.nom}.json", "w", encoding="utf-8") as JJ:
json.dump(self.liste_data, JJ)
print(f"Liste sauvegardée dans {self.nom}.json")
def charger(self):
with open(f"{self.nom}.json", "r", encoding="utf-8") as JJ:
self.liste_data = json.load(JJ)
print(f"Liste chargée depuis {self.nom}.json: {self.liste_data}")
Bravo pour le script !
Inscris-toi
(c'est gratuit !)
Tu dois créer un compte pour participer aux discussions.
Créer un compte