Exercices POO Dataclass + Enum combinés
🎉

Bravo!

Avancé 🧠 Fondamentaux 30 XP 0 personnes ont réussi

Dataclass + Enum combinés

En combinant dataclass et Enum, tu obtiens un typage fort : les champs ne peuvent prendre que des valeurs predefinies. C'est particulierement utile pour modeliser des entites metier avec des états finis.

Par exemple, une tache peut etre dans un nombre fini d'états (en attente, en cours, terminee, annulee). En utilisant un Enum pour le statut, tu t'assures qu'aucune valeur invalide ne peut se glisser.

@dataclass
class Commande:
numéro: str
statut: StatutCommande = StatutCommande.NOUVELLE

Crée :
- Statut(Enum) avec EN_ATTENTE, EN_COURS, TERMINE, ANNULE
- Priorite(Enum) avec BASSE=1, NORMALE=2, HAUTE=3
- Tache (dataclass) avec titre: str, statut: Statut = Statut.EN_ATTENTE, priorite: Priorite = Priorite.NORMALE
- Méthode est_active() retournant True si statut est EN_COURS
- Méthode terminer() qui change le statut a TERMINE

Exemple :
t = Tache('Livrer le projet')
t.statut # Statut.EN_ATTENTE
t.terminer()
t.statut # Statut.TERMINE

Tests (3/4)

Création par défaut
t = Tache('Livrer le projet')
assert t.statut == Statut.EN_ATTENTE
assert t.priorite == Priorite.NORMALE
est_active False
t = Tache('Test')
assert t.est_active() == False
terminer()
t = Tache('Fix bug')
t.terminer()
assert t.statut == Statut.TERMINE

+ 0 tests cachés

Indices (3 disponibles)

solution.py