Leçon 8 / 10 — Chapitre 10: Mise en pratique : suivi de dépenses
Générer un résumé formaté en colonnes
Huitième étape : assembler un résumé complet et lisible, avec le formatage avancé des f-strings vu au sixième chapitre, déjà appliqué à l'inventaire au huitième chapitre.
def resumer(depenses):
totaux = {}
for d in depenses:
categorie = d["categorie"]
totaux[categorie] = totaux.get(categorie, 0) + d["montant"]
print(f"{'Categorie':<15}{'Total':>8}")
print("-" * 23)
for categorie, total in sorted(totaux.items(), key=lambda item: item[1], reverse=True):
print(f"{categorie.capitalize():<15}{total:>7.2f} $")
depenses = [
{"categorie": "alimentation", "montant": 25},
{"categorie": "transport", "montant": 10},
{"categorie": "loisirs", "montant": 40},
]
resumer(depenses)
Ce code affiche un en-tête Categorie Total, une ligne de séparation, puis les trois catégories triées par total décroissant, chacune alignée en colonnes avec 2 décimales.
sorted(totaux.items(), key=lambda item: item[1], reverse=True) trie les paires (categorie, total) de .items() (vu au premier chapitre) selon le second élément de chaque tuple (item[1], le total) — le même principe de tri par clé qu'au troisième chapitre, appliqué ici directement aux paires d'un dictionnaire.
À vous de jouer : appelez resumer() sur une liste de dépenses d'au moins trois catégories, et vérifiez que le résumé est bien trié par total décroissant.
Continuez ce module
Débloquez les leçons restantes ainsi que la certification finale.
2 500 XOF / 3,81 € / 4,15 $
Débloquez les 85 leçons restantes de ce module
Votre paiement est vérifié avant l'activation de l'accès