Aide-mémoire : les conditions

Python - comparer, combiner, puis décider (Semaine 1 · Jour 2)

opérateurs de comparaison and / or / not structure if / elif / else pièges fréquents

Les opérateurs de comparaison

Avant qu'une condition soit vraie ou fausse, Python compare deux valeurs. Chaque comparaison répond par un booléen : True (vrai) ou False (faux).

On écritSe litExempleRésultat
==est égal à5 == 5True
!=est différent de5 != 3True
<est plus petit que3 < 5True
>est plus grand que3 > 5False
<=est plus petit ou égal à5 <= 5True
>=est plus grand ou égal à3 >= 5False

Le piège classique : = sert à ranger une valeur dans une variable, alors que == sert à comparer deux valeurs.

Combiner avec and / or / not : les tables de vérité

On relie plusieurs comparaisons avec and, or et not. Voici tous les cas possibles, une bonne fois pour toutes.

A and B

ABA and B
TrueTrueTrue
TrueFalseFalse
FalseTrueFalse
FalseFalseFalse

Vrai seulement si les deux sont vrais.

A or B

ABA or B
TrueTrueTrue
TrueFalseTrue
FalseTrueTrue
FalseFalseFalse

Vrai partout sauf quand les deux sont faux.

not A

Anot A
TrueFalse
FalseTrue

not inverse : vrai devient faux, faux devient vrai.

Décider : if / elif / else

Une fois la comparaison faite, on choisit le bloc à exécuter. Chaque bloc est indenté sous un :.

Une seule possibilité

if condition :

temperature = 39 if temperature >= 38: print("Fièvre")
Fièvre

Le bloc indenté s'exécute seulement si la condition est vraie. Sinon, rien.

Deux chemins

if … else …

if note >= 60: print("Réussi") else: print("Échoué")

else couvre tous les autres cas. Il n'a jamais de condition après lui.

Plusieurs paliers

if … elif … else …

if note >= 90: print("A") elif note >= 70: print("B") else: print("C")

elif = « sinon, si ». Python teste les conditions dans l'ordre et s'arrête à la première vraie.

Combiner les conditions

if … and / or …

if age >= 18 and a_permis: print("Peut conduire")

On enchaîne plusieurs comparaisons avec and / or (voir les tables ci-dessus) pour une seule décision.

Les pièges qui font perdre du temps

Quatre erreurs qui reviennent tout le temps avec les conditions.

Confondre = et ==

if x = 5: # ✗ erreur if x == 5: # ✓ on COMPARE

Dans une condition on compare (==), on n'affecte pas (=).

Oublier les deux-points

if x > 0 # SyntaxError : il manque : print(x)

Toute condition se termine par :, suivi d'un bloc indenté.

Mettre une condition après else

else x < 0: # ✗ elif x < 0: # ✓ utilise elif

else ne prend jamais de condition. Pour un autre test, c'est elif.

Enchaîner les comparaisons sans and

# Clair et sûr : if 0 <= note and note <= 100:

Pour vérifier un intervalle, relie deux comparaisons avec and plutôt que de deviner l'ordre.