Cours Python · Module 1: Bases de Python

Le contrôle de flux - choisir un chemin dans la jungle

3 min de lecture
Dans cette leçon6

Bienvenue ! Nous voici à une bifurcation des sentiers. Un chemin traverse une rivière, l'autre s'enfonce dans une forêt dense. Un bon explorateur doit prendre des décisions en fonction de conditions. En Python, on utilise des instructions conditionnelles pour prendre des décisions : if, elif et else.

L'instruction if - si la condition est remplie

Le mot if vérifie une condition. Si la condition est True, Python exécute le bloc de code indenté. Si elle est False - il l'ignore.

1temperature = 35
2
3if temperature > 30:
4    print("Il fait chaud ! Reste à l'ombre.")
5    print("N'oublie pas de boire de l'eau.")

Remarque trois choses : après la condition, on met un deux-points :, et le code à exécuter est indenté (généralement 4 espaces). Cette indentation indique à Python : « ceci appartient à la condition ». Une condition est une expression qui renvoie True ou False - exactement ce que tu as appris avec les opérateurs de comparaison.

if / else - deux chemins

Souvent, on veut faire une chose quand une condition est remplie et autre chose quand elle ne l'est pas. C'est à ça que sert else (« sinon »).

1water_supply = 2   # litres
2
3if water_supply >= 3:
4    print("Nous avons assez d'eau pour aujourd'hui.")
5else:
6    print("Peu d'eau ! Nous devons trouver une source.")

Python vérifie la condition au niveau du if. Si elle est True - il exécute le bloc if. Si elle est False - il passe au bloc else. Exactement l'un des deux chemins s'exécute toujours.

if / elif / else - plusieurs chemins

Mais que faire s'il y a plus de deux chemins ? Imagine évaluer une température : chaude, agréable ou froide. C'est à ça que sert elif (abréviation de « else if » - « sinon si »). Tu peux ajouter autant de blocs elif que nécessaire.

1temperature = 22
2
3if temperature > 30:
4    print("Il fait chaud dans la jungle !")
5elif temperature >= 15:
6    print("Température agréable pour marcher.")
7elif temperature >= 5:
8    print("Un peu frais, prends une veste.")
9else:
10    print("Il fait froid ! Allume un feu de camp.")

Python vérifie les conditions une par une, de haut en bas. Il exécute le bloc de la première condition qui est True et ignore le reste. Si aucune condition ne correspond, il exécute le bloc else (s'il existe). C'est pourquoi l'ordre compte - on vérifie en partant des conditions les plus spécifiques.

Combiner des conditions dans les décisions

Tu te souviens des opérateurs logiques and, or, not ? Ils fonctionnent très bien à l'intérieur des instructions conditionnelles :

1temperature = 28
2is_raining = False
3
4if temperature > 20 and not is_raining:
5    print("Conditions parfaites - en route pour le safari !")
6else:
7    print("On reste au camp.")

Pratique

Écris un programme qui évalue si un animal est dangereux en fonction de son poids. Exécute le code dans l'éditeur et change la valeur de weight (par exemple 190 ou 5) pour voir quelle branche s'exécute :

Code de cette leçon : main.py
1# Contrôle du flux - l'animal est-il dangereux ?
2
3animal = "Éléphant"
4weight = 5000   # kg
5
6# TODO : complète les conditions if / elif / else
7if weight > 1000:
8    print(f"{animal} est un grand animal - garde tes distances !")
9elif weight >= 100:
10    print(f"{animal} - taille moyenne, sois prudent.")
11else:
12    print(f"{animal} - petit animal, sans danger.")
13
14# Essaie de changer weight en 190 ou 5 et relance le code !

Résumé

Dans cette leçon, tu as appris à prendre des décisions dans le code :

  • if - exécute du code quand la condition est True
  • else - exécute du code quand la condition est False
  • elif - vérifie d'autres conditions quand les précédentes étaient False
  • La signification des deux-points : et de l'indentation dans les blocs
  • Combiner des conditions avec and, or, not

Dans la prochaine leçon, Darwin t'enseignera les boucles - comment répéter des actions sans réécrire le code !

Tu as repéré une erreur dans cette leçon ?

Teste tes connaissances

Réponds aux questions de cette leçon. Choisis une réponse pour voir tout de suite si elle est correcte.

  1. 1. Quand le bloc indenté après if s'exécute-t-il ?

  2. 2. À quoi sert elif ?

  3. 3. Que met-on à la fin de la ligne de condition if ?

Tâches pratiques dans le jeu

  • Tri vertical

    Ordonne l'instruction conditionnelle :

Articles utiles