Comparer des valeurs
Objectif : Déterminer si une dépense dépasse un seuil fixé et comprendre les résultats booléens produits par les comparaisons.
Vous avez déjà enregistré plusieurs montants et représenté une dépense avec un dictionnaire. Il manque encore un moyen simple de savoir si un montant franchit une limite, ou si deux catégories sont identiques. Les comparaisons Python répondent à ces questions en produisant un résultat que vous pourrez exploiter dans une condition lors de la prochaine leçon.
Comparer des nombres
Un opérateur de comparaison examine deux valeurs et produit un résultat booléen : True signifie que la comparaison est vraie, False qu’elle est fausse. Pour vérifier si le montant d’une dépense dépasse un seuil, utilisez >. Les opérateurs <, >= et <= permettent respectivement de tester « inférieur à », « supérieur ou égal à » et « inférieur ou égal à ».
# suivi_depenses.py
print("Suivi de dépenses")
print("Saisissez et classez vos dépenses pour préparer un récapitulatif.")
montant = 12.50
categorie = "repas"
print(f"Dépense enregistrée : {montant:.2f} € pour la catégorie {categorie}.")
montant_repas = 18.75
montant_courses = 42.30
total = montant + montant_repas + montant_courses
print(f"Total de l'exemple : {total:.2f} €")
ligne_depense = f"{categorie.capitalize()} : {montant:.2f} €"
print(ligne_depense)
montants = [montant, montant_repas, montant_courses]
montants.append(4.25)
print(f"Premier montant : {montants[0]:.2f} €")
print(f"Nombre de montants : {len(montants)}")
depense = {
"montant": montant,
"categorie": categorie,
"description": "Déjeuner"
}
print(depense["montant"])
print(depense["categorie"])
depense["description"] = "Déjeuner avec un collègue"
print(depense["description"])
seuil = 20.00
depasse_seuil = depense["montant"] > seuil
print(f"La dépense dépasse {seuil:.2f} € : {depasse_seuil}")
print(f"Le montant est inférieur ou égal au seuil : {depense['montant'] <= seuil}")
print(f"La catégorie est repas : {depense['categorie'] == 'repas'}")
print(f"La catégorie est différente de transport : {depense['categorie'] != 'transport'}")Suivi de dépenses
Saisissez et classez vos dépenses pour préparer un récapitulatif.
Dépense enregistrée : 12.50 € pour la catégorie repas.
Total de l'exemple : 73.55 €
Repas : 12.50 €
Premier montant : 12.50 €
Nombre de montants : 4
12.5
repas
Déjeuner avec un collègue
La dépense dépasse 20.00 € : False
Le montant est inférieur ou égal au seuil : True
La catégorie est repas : True
La catégorie est différente de transport : TrueDans le script complet, les anciennes démonstrations sont conservées et les comparaisons sont ajoutées à la fin. La variable seuil fixe la limite à 20 euros, puis l’expression depense["montant"] > seuil donne ici False, car le montant est de 12,50 euros. La comparaison <= est vraie pour ce même montant ; vous pouvez donc exprimer la même relation sous la forme « inférieur ou égal au seuil ».
Égalité et différence
Pour vérifier si deux valeurs sont égales, écrivez ==. Pour vérifier qu’elles sont différentes, utilisez !=. Ces opérateurs ne doivent pas être confondus avec =, qui sert à affecter une valeur à une variable ; l’affectation et les dictionnaires ont été présentés dans les leçons précédentes.
Les comparaisons de chaînes sont sensibles aux caractères exacts : "repas" == "Repas" est faux, car la majuscule diffère. Dans votre script, la catégorie a été enregistrée en minuscules ; comparer à cette même forme évite une différence inattendue. Le résultat d’une comparaison ne s’affiche pas automatiquement : dans l’exemple, il est rendu visible par les appels à print.
Vérifier le résultat
Enregistrez le fichier suivi_depenses.py, puis exécutez-le depuis votre terminal avec la commande Python disponible sur votre ordinateur. Vérifiez que la ligne « La dépense dépasse 20.00 € » affiche False et que les comparaisons d’égalité et de différence affichent True. Modifiez temporairement le montant de la dépense ou le seuil pour observer comment ces résultats changent, puis rétablissez les valeurs de l’exemple.
À retenir
- Les comparateurs comme >, = et <= testent une relation entre deux valeurs.
- Une comparaison produit toujours un booléen : True ou False.
- Utilisez == pour tester l’égalité et != pour tester la différence ; = sert à affecter.
- Une comparaison de chaînes tient compte des majuscules et des minuscules.
Dans la leçon suivante, vous utiliserez ces résultats booléens pour choisir quelles instructions exécuter avec if, elif et else.