Apprenez en lisant dans l'ordre

Booléens et construction de conditions

Apprends le type bool en Python pour exprimer vrai/faux et bâtir des conditions claires avec and / or / not.

Qu'est-ce qu'un booléen (bool) ?

Un booléen (bool) est un type qui ne peut contenir que deux valeurs : True et False. C'est ainsi que Python représente les états du style oui/non ou vrai/faux — en gros, tout ce qui comporte deux choix.

Tout comme int gère les nombres et str gère les chaînes, bool est le type spécialisé pour les valeurs de vérité.

Les seules valeurs possibles pour bool
type boolTrue(vrai)False(faux)valeur 1valeur 2

Contrairement aux autres types, bool est limité à exactement deux valeurs — True et False. C'est ce qui lui permet de s'intégrer si bien avec l'affectation, la comparaison et les branchements conditionnels.

True et False doivent commencer par une majuscule. Écris true ou TRUE et tu obtiendras une NameError.

Ce ne sont pas non plus des chaînes, donc ne les entoure pas de guillemets comme "True" (cela les transforme en str).

# Affectation de valeurs bool
is_animal = True
is_human = False

print(is_animal)        # True
print(is_human)         # False
print(type(is_animal))  # <class 'bool'>

# Écrire "True" en fait un str (c'est différent)
looks_bool = "True"
print(type(looks_bool)) # <class 'str'>

Crée une variable bool dans le terminal.

① Affecte True à is_student et affiche-la avec print().

② Affiche le type de is_student avec type().

Éditeur Python

Exécuter le code pour voir le résultat

Les comparaisons produisent des booléens

Tu n'obtiens pas de booléens uniquement en tapant True / Falseles opérateurs de comparaison en produisent aussi.

Python dispose de six opérateurs de comparaison, et chacun retourne toujours True ou False (c'est-à-dire un bool).

OpérateurSignificationExempleRésultat
==égal à5 == 5True
!=différent de5 != 3True
>strictement supérieur5 > 3True
<strictement inférieur5 < 3False
>=supérieur ou égal5 >= 5True
<=inférieur ou égal5 <= 3False
Le flux d'une comparaison
age = 20age >= 18Trueage < 18Falseévaluerrésultatévaluerrésultat

Quand une expression est évaluée, elle retourne soit True soit False. Tu peux aussi stocker ce résultat dans une variable et le réutiliser.

age = 20

print(age == 20)      # True  (égal)
print(age != 18)      # True  (différent)
print(age >= 18)      # True  (>=)
print(age < 18)       # False (<)

# Tu peux stocker le résultat dans une variable
is_adult = age >= 18
print(is_adult)       # True
print(type(is_adult)) # <class 'bool'>

# Les chaînes se comparent aussi (== et != sont les plus utiles)
print("apple" == "apple")  # True
print("apple" == "Apple")  # False (sensible à la casse)

= et == sont différents

= (un seul signe égal) est l'affectation, et == (deux signes égal) est la comparaison. age = 20 signifie « mettre 20 dans age », tandis que age == 20 demande « est-ce que age vaut 20 ? ». Les confondre est un moyen facile d'introduire un bug difficile à repérer, donc garde-les bien distincts.

En partant de score = 75, vérifie que les comparaisons produisent des booléens.

① Affiche le résultat de score == 100.

② Mets le résultat de score >= 60 dans une variable passed, puis affiche-la.

③ Affiche le type de passed avec type().

Éditeur Python

Exécuter le code pour voir le résultat

Utiliser les booléens dans la structure if

L'endroit où tu rencontreras le plus souvent les booléens, c'est la structure if (un branchement conditionnel). Le bloc à l'intérieur s'exécute uniquement quand l'expression après if vaut True.

On reviendra sur if plus en détail plus tard — pour l'instant, prends juste le temps de sentir comment un bool change le comportement.

if et bool
if True: print(...)exécute blocsortie affichéeif False: print(...)ignoreaucune sortieTrueprintFalseignore

Termine la ligne if par un deux-points :, et écris le corps avec une indentation de 4 espaces. C'est cette indentation qui indique à Python quelles lignes appartiennent au if.

is_animal = True

# S'exécute car is_animal vaut True
if is_animal:
    print("C'est un animal")

# Ignoré car is_human vaut False — rien ne s'affiche
is_human = False
if is_human:
    print("C'est un humain")

# Tu peux mettre une comparaison directement dans le if
age = 20
if age >= 18:
    print("Adulte")

Entraîne-toi à brancher sur différents booléens.

① Définis is_open = True et affiche "OUVERT" quand c'est True.

② Définis temperature = 35 et affiche "Journée chaude" quand temperature >= 30.

Éditeur Python

Exécuter le code pour voir le résultat

Opérateurs logiques : and / or / not

Quand tu veux combiner plusieurs conditions, utilise les opérateurs logiques and / or / not.

Ils prennent des booléens en entrée et retournent des booléens — ils correspondent aux mots français « et », « ou » et « non ».

Différences entre and / or / not
and(les deux)True and TrueTrueor(au moins un)True or FalseTruenot(inverser)not TrueFalseexemplerésultatexemplerésultatexempleinversion

and est True uniquement quand les deux côtés sont True.

or est True quand au moins un côté est True.

not inverse True et False.

Table de vérité

Le résultat de and et or est entièrement déterminé par les booléens de gauche et de droite. Tu peux les voir comme une intersection (and) et une union (or).

ABA and BA or B
TrueTrueTrueTrue
TrueFalseFalseTrue
FalseTrueFalseTrue
FalseFalseFalseFalse
is_man = True
is_adult = True

# and : True uniquement si les deux sont True
if is_man and is_adult:
    print("Homme adulte")

# or : True si au moins un des deux est True
if is_man or is_adult:
    print("Homme ou adulte")

# not : inverse la valeur
is_child = not is_adult
print(is_child)          # False

# Combine avec des comparaisons
age = 25
if age >= 18 and age < 65:
    print("Adulte en âge de travailler")

Avec is_member = True et age = 15, teste les opérateurs logiques.

① Affiche le résultat de is_member and age >= 18.

② Affiche le résultat de is_member or age >= 18.

③ Affiche le résultat de not is_member.

Éditeur Python

Exécuter le code pour voir le résultat

N'écris pas &&, ||, !

Certains autres langages utilisent &&, || et !, mais Python utilise toujours and, or et not (les mots anglais). Écrire && te donnera une SyntaxError.

Dans cet article, tu as découvert le type booléen (bool) et comment l'utiliser. Tu as vu que bool ne contient que deux valeurs, que les comparaisons produisent des booléens, que les instructions if permettent de brancher dessus, et que and / or / not permettent de combiner les conditions — les fondations de toute condition que tu écriras.

Ensuite, on regardera de plus près les nombres avec les types int et float.

QUIZ

Vérification des connaissances

Répondez à chaque question une par une.

Question 1Parmi les suivantes, laquelle est une valeur bool valide ?

Question 2Que va afficher ce code ?
x = 10
print(x == 10 and x < 5)

Question 3Que va afficher ce code ?
is_open = False
print(not is_open)