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