PaliSkill
Python avancé

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

Trier les tâches par priorité

Septième étape : trier les tâches par priorité croissante (1 avant 2 avant 3), avec sorted() et key= (vus dans Python Intermédiaire) sur un attribut d'objet plutôt qu'une clé de dictionnaire.

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

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

    def triees_par_priorite(self):
        return sorted(self.taches, key=lambda t: t.priorite)

g = GestionnaireTaches()
g.ajouter("Ecrire le rapport", priorite=3)
g.ajouter("Corriger le bug", priorite=1)
g.ajouter("Relire un document", priorite=2)

for t in g.triees_par_priorite():
    print(t.titre, "-", t.priorite)

Ce code affiche Corriger le bug - 1, puis Relire un document - 2, puis Ecrire le rapport - 3 : key=lambda t: t.priorite (vu dans Python Intermédiaire) indique à sorted() de comparer les tâches selon leur attribut priorite, du plus urgent (1) au moins urgent (3).

triees_par_priorite() renvoie une nouvelle liste triée, sans modifier self.taches : l'ordre d'ajout original reste préservé dans le gestionnaire, exactement comme sorted() sur une liste normale.

À vous de jouer : ajoutez triees_par_priorite() au gestionnaire, ajoutez des tâches dans un ordre de priorité mélangé, et affichez-les triées.

🔒

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