PaliSkill
Python intermédiaire

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