PaliSkill
Python avancé

Leçon 4 / 10 — Chapitre 9: Mise en pratique : gestionnaire de tâches

Marquer une tâche comme terminée

Quatrième étape : retrouver une tâche par son titre et modifier son état — le même motif de recherche déjà écrit à plusieurs reprises dans Python Intermédiaire, appliqué ici à des objets plutôt qu'à des dictionnaires.

class GestionnaireTaches:
    def __init__(self):
        self.taches = []

    def ajouter(self, titre, priorite=2):
        tache = Tache(titre, priorite)
        self.taches.append(tache)
        return tache

    def trouver(self, titre):
        for t in self.taches:
            if t.titre == titre:
                return t
        return None

    def marquer_terminee(self, titre):
        tache = self.trouver(titre)
        if tache is None:
            raise KeyError(titre)
        tache.terminee = True

g = GestionnaireTaches()
g.ajouter("Ecrire le rapport")
g.marquer_terminee("Ecrire le rapport")

print(g.taches[0].terminee)

Ce code affiche True : trouver renvoie l'objet Tache correspondant (ou None, vu au huitième chapitre de Python Intermédiaire), et marquer_terminee modifie directement son attribut terminee — puisque tache est une référence vers le même objet stocké dans self.taches, le modifier via tache.terminee = True modifie bien l'objet dans la liste, pas une copie séparée.

raise KeyError(titre) signale une tâche introuvable, exactement comme pour un dictionnaire (vu dans Python Intermédiaire) — cohérent avec le vocabulaire d'erreurs déjà utilisé ailleurs dans ce module.

À vous de jouer : ajoutez une méthode trouver et marquer_terminee, marquez une tâche comme terminée, et vérifiez son statut avec lister().

🔒

Continuez ce module

Débloquez les leçons restantes ainsi que la certification finale.

2 500 XOF / 3,81 € / 4,15 $

Débloquez les 87 leçons restantes de ce module

Votre paiement est vérifié avant l'activation de l'accès