Conditions et boucles
Ce que tu vas apprendre
- Faire exécuter du code seulement si une condition est vraie.
- Répéter des instructions avec
foretwhile. - Délimiter les blocs de code avec l'indentation.
Comparer des valeurs
Une condition est une expression dont le résultat est True ou False. On la construit avec des opérateurs de comparaison.
| Opérateur | Sens |
|---|---|
== | égal à |
!= | différent de |
<, > | plus petit, plus grand |
<=, >= | plus petit ou égal, plus grand ou égal |
temps = 30
print(temps > 20)
print(temps == 45)
Résultat : True puis False. Attention : un seul = range une valeur, il en faut deux pour comparer.
if, elif, else
Le mot-clé if exécute un bloc seulement si la condition est vraie. elif ajoute un autre cas, else couvre tout le reste.
temps = 30
if temps <= 15:
print("Recette express")
elif temps <= 45:
print("Recette normale")
else:
print("Recette longue")
Ici le programme affiche « Recette normale ». Python teste les conditions dans l'ordre et s'arrête à la première vraie.
L'indentation
L'indentation est le retrait des lignes en début de ligne. En Python, elle remplace les accolades : elle dit quelles lignes appartiennent au bloc.
Après un :, les lignes du bloc sont décalées de 4 espaces. Quand le retrait revient en arrière, le bloc se termine.
if temps <= 15:
print("Rapide")
print("Parfait en semaine")
print("Cette ligne s'affiche toujours")
IndentationError. Règle ton éditeur pour insérer 4 espaces à chaque appui sur Tab.Combiner des conditions
Les mots and, or et not combinent plusieurs conditions.
vegetarien = True
temps = 20
if vegetarien and temps <= 30:
print("Recette végétarienne rapide")
if not vegetarien:
print("Contient de la viande")
and exige que les deux soient vraies, or qu'au moins une le soit, not inverse le résultat. Pour tester une appartenance, in est très lisible :
if "oeuf" in "gâteau aux oeufs":
print("Contient des oeufs")
La boucle for
Une boucle répète un bloc de code. for parcourt une suite de valeurs, une à la fois.
for lettre in "riz":
print(lettre)
Elle affiche r, i, puis z, chacune sur sa ligne. À chaque tour, lettre prend la valeur suivante. Pour répéter un nombre précis de fois, utilise range() :
for numero in range(1, 4):
print(f"Étape {numero}")
Résultat : Étape 1, Étape 2, Étape 3. range(1, 4) démarre à 1 et s'arrête avant 4. Avec un seul nombre, range(3) donne 0, 1 et 2.
La boucle while
while répète tant qu'une condition reste vraie.
portions = 1
while portions < 8:
print(f"{portions} portions")
portions = portions * 2
Elle affiche 1, 2 puis 4 portions. À la fin du troisième tour, portions vaut 8 et la condition devient fausse.
break et continue
Deux mots-clés modifient le déroulement d'une boucle :
breaksort immédiatement de la boucle ;continuesaute le reste du tour et passe au suivant.
for note in [4, 0, 5, 3]:
if note == 0:
continue
if note == 5:
print("Recette parfaite trouvée")
break
print(f"Note {note}")
Le programme affiche « Note 4 », ignore le 0, puis annonce la note 5 et s'arrête avant le 3.
À retenir
- Une condition vaut
TrueouFalse;==compare,=range une valeur. if,elifetelsechoisissent un bloc ; seul le premier cas vrai s'exécute.- L'indentation de 4 espaces définit les blocs, après un
:. and,or,notetincombinent ou testent des conditions.forparcourt une suite,range()fabrique une suite de nombres.whilerépète tant que sa condition est vraie ;breaketcontinueen modifient le cours.
Pour aller plus loin
Sources officielles
Ensuite
Premiers pas avec Python
Installer Python, utiliser l'interpréteur, lancer un script, puis manipuler variables, types de base et f-strings.
Fonctions et modules
Écrire ses propres fonctions avec def et return, puis ranger et réutiliser son code grâce aux modules et à import.
- Projet
- Lignes de code
- Niveau
- Le quartier
- Appartement
- Python
- Pièce
- 2/7
- Plan n°
- python/02.conditions-et-boucles