Regrouper des dépenses dans une liste
Objectif : Ajouter plusieurs montants à une liste et en consulter les éléments.
Un montant isolé ne suffit pas pour représenter l’historique d’un suivi de dépenses : vous devez pouvoir conserver plusieurs montants ensemble. Dans cette leçon, vous allez créer une liste, y ajouter une dépense, puis consulter son contenu sans encore parcourir automatiquement tous ses éléments.
Créer une liste de montants
Une list est une collection qui permet de regrouper plusieurs valeurs dans une seule variable. Vous écrivez ses éléments entre crochets et vous les séparez par des virgules. Ici, les valeurs de montants sont des nombres décimaux déjà utilisés dans les exemples précédents ; la liste peut contenir plusieurs valeurs de ce type.
montants = [12.0, 8.5, 23.75]
print(montants)[12.0, 8.5, 23.75]La liste conserve les montants dans l’ordre où vous les avez écrits. Pour le suivi de dépenses, vous pouvez ainsi représenter plusieurs montants au lieu de garder uniquement une valeur dans montant. La liste ne donne pas encore de catégorie ni de description à chaque montant ; l’association des différents champs sera abordée dans une leçon ultérieure.
Ajouter une dépense
Pour ajouter un élément à une liste existante, utilisez sa méthode append(). Elle place la nouvelle valeur à la fin de la liste. La liste est alors modifiée : vous n’avez pas besoin de créer une deuxième liste pour conserver le montant ajouté.
montants = [12.0, 8.5, 23.75]
montants.append(4.25)
print(montants)[12.0, 8.5, 23.75, 4.25]Consulter les éléments et compter les dépenses
Vous pouvez récupérer un élément grâce à son index, c’est-à-dire sa position dans la liste. En Python, le premier élément porte l’index 0, le deuxième l’index 1, et ainsi de suite. La fonction len() donne le nombre d’éléments présents ; elle est utile pour vérifier combien de montants sont enregistrés.
montants = [12.0, 8.5, 23.75]
montants.append(4.25)
print(montants[0])
print(montants[2])
print(len(montants))12.0
23.75
4Dans cet exemple, montants[0] consulte le premier montant et montants[2] le troisième. La liste contient quatre éléments après l’appel à append(), donc len(montants) affiche 4. Un index doit correspondre à une position existante : avec cette liste, l’index 4 ne désignerait aucun élément.
Mettre à jour le fichier du projet
Ajoutez les lignes liées à la liste à la fin de suivi_depenses.py. Le fichier complet ci-dessous conserve les commentaires, affichages et calculs des leçons précédentes, puis regroupe les quatre montants dans montants. Pour exécuter l’ensemble, lancez le script comme dans la leçon « Créer et exécuter un script ».
# Présentation du suivi de dépenses
print("Suivi de dépenses")
# Les montants sont exprimés en euros
montant = 12
categorie = "Transport"
print(f"Dépense enregistrée : {montant} € en catégorie {categorie}")
montant_repas = 8.5
montant_courses = 23.75
total = montant_repas + montant_courses + montant
print(f"Total des dépenses : {total} €")
print(0.1 + 0.2)
description = " déjeuner au café "
categorie_repas = "repas"
description = description.strip()
categorie_repas = categorie_repas.capitalize()
ligne_depense = f"{description} — {categorie_repas} : {montant_repas:.2f} €"
print(ligne_depense)
montants = [montant, montant_repas, montant_courses]
montants.append(4.25)
print("Montants enregistrés :", montants)
print("Premier montant :", montants[0])
print("Nombre de montants :", len(montants))Suivi de dépenses
Dépense enregistrée : 12 € en catégorie Transport
Total des dépenses : 44.25 €
0.30000000000000004
déjeuner au café — Repas : 8.50 €
Montants enregistrés : [12, 8.5, 23.75, 4.25]
Premier montant : 12
Nombre de montants : 4À retenir
- Une liste regroupe plusieurs valeurs dans un ordre déterminé et s’écrit entre crochets.
- La méthode append() ajoute un élément à la fin d’une liste existante.
- Les index commencent à 0 : montants[0] désigne le premier élément.
- La fonction len() indique combien d’éléments la liste contient.
Dans la prochaine leçon, vous associerez plusieurs champs — montant, catégorie et description — au sein d’une même dépense.