Vrai ou faux : les booléens
Un programme qui décide
Jusqu'ici, tes programmes faisaient toujours la même chose, ligne après ligne. Mais un vrai programme doit réagir selon la situation :
- si le mot de passe est correct, ouvrir le compte ; sinon, refuser ;
- si le solde est suffisant, valider le paiement ; sinon, afficher une erreur ;
- si la note est au moins 10, l'élève passe ; sinon, il redouble.
Pour décider, l'ordinateur pose des questions auxquelles on ne peut répondre que par oui ou par non. « Le solde est-il supérieur au prix ? » « Le mot de passe est-il égal à celui enregistré ? »
C'est le sujet de tout ce module. On commence par la brique de base : la réponse oui ou non elle-même.
Le type `bool`
pluie = True
soleil = False
type(pluie) # <class 'bool'>
Tu ne taperas pas souvent True toi-même. La plupart du temps, les booléens sont fabriqués par des comparaisons.
Les comparaisons
| Opérateur | Signifie | Exemple | Résultat |
|---|---|---|---|
== |
est égal à | 5 == 5 |
True |
!= |
est différent de | 5 != 3 |
True |
< |
est strictement inférieur à | 3 < 5 |
True |
> |
est strictement supérieur à | 3 > 5 |
False |
<= |
est inférieur ou égal à | 5 <= 5 |
True |
>= |
est supérieur ou égal à | 4 >= 5 |
False |
On peut ranger le résultat dans une variable :
age = 20
majeur = age >= 18 # majeur vaut True
Lis cette ligne comme toujours, de droite à gauche : Python calcule age >= 18 (ça donne True), puis range True dans majeur.
Comment taper ces signes
< et > sont sur la touche à gauche du W sur un clavier AZERTY (> avec Maj). ! est à droite du point-virgule.
Le piège mortel : `=` contre `==`
C'est l'erreur la plus classique de tous les débutants, dans tous les langages :
| Écriture | Ce que ça fait |
|---|---|
age = 18 |
range 18 dans age (affectation : une action) |
age == 18 |
demande si age vaut 18 (comparaison : une question, qui répond True ou False) |
Comparer des textes marche aussi, mais attention à la casse :
"oui" == "oui" # True
"oui" == "Oui" # False : la majuscule change tout
"5" == 5 # False : un texte n'est jamais égal à un nombre
Pour comparer sans tenir compte des majuscules, on met tout en minuscules d'abord : reponse.lower() == "oui".
Pratique : Pose des questions à Python
Prévois chaque réponse (True ou False) avant d'appuyer sur Entrée.
Un terminal simulé t'attend dans l'appli, sans rien installer. Pratiquer
Un correcteur plus exigeant
À partir de maintenant, ton code doit marcher pour toutes les valeurs, pas seulement pour celle de l'énoncé.
Le correcteur va donc relancer ton programme plusieurs fois, en changeant les valeurs des lignes marquées # donné : un autre âge, une autre note, un autre prix. Si tu écris la réponse à la main au lieu d'une comparaison, il le verra.
Exercice : Majeur ?
Range dans majeur un booléen qui dit si age est au moins 18. Utilise une comparaison, pas True ou False écrit à la main.
Voir une solution
age = 20 # donné
majeur = age >= 18Dans l'appli, ton code est exécuté et corrigé automatiquement. Faire l'exercice
Exercice : Pair ?
Range dans pair un booléen qui dit si n est pair. Rappel : un nombre est pair quand le reste de sa division par 2 vaut 0.
Voir une solution
n = 14 # donné
pair = n % 2 == 0Dans l'appli, ton code est exécuté et corrigé automatiquement. Faire l'exercice
Exercice : Le moins cher
Deux boutiques vendent le même sac de riz. Range dans a_moins_cher un booléen qui dit si la boutique A est strictement moins chère que la boutique B.
Voir une solution
prix_a = 18500 # donné
prix_b = 19000 # donné
a_moins_cher = prix_a < prix_bDans l'appli, ton code est exécuté et corrigé automatiquement. Faire l'exercice
Exercice : Le bon code, quelle que soit la casse
Un utilisateur tape un code promo. Le code secret est noel2026. Range dans valide un booléen qui dit si la saisie correspond au code, sans tenir compte des majuscules ni des espaces autour.
" NOEL2026 " doit être accepté.
Voir une solution
saisie = " NOEL2026 " # donné
CODE = "noel2026"
valide = saisie.strip().lower() == CODEDans l'appli, ton code est exécuté et corrigé automatiquement. Faire l'exercice
Teste-toi
Que vaut x après ces deux lignes ?
python x = 4 x == 5
54(bonne réponse)TrueFalse
La deuxième ligne pose la question « x vaut-il 5 ? » (réponse : False), puis jette la réponse. x vaut toujours 4.
Lequel de ces résultats vaut True ?
3 >= 4"Oui" == "oui"10 != 102 * 3 <= 6(bonne réponse)
Le calcul passe avant la comparaison : 2 * 3 vaut 6, et 6 <= 6 est vrai.