Lecture libre, sans compteChapitre 1 · Premiers pas avec Python

Structures de contrôle : conditions et boucles

Introduction

Mise en situation

Vous travaillez comme assistant administratif dans une petite entreprise. Votre responsable vous demande d'automatiser le tri de dizaines de factures reçues chaque semaine.

Votre défi

Créer un script Python qui vérifie automatiquement si chaque facture est payée, en retard, ou à venir, puis qui traite chaque facture d'une liste sans avoir à écrire le même code des dizaines de fois.

Sans les structures de contrôle, un programme Python exécute ses instructions une par une, de haut en bas, sans jamais dévier ni se répéter. C'est comme suivre une recette de cuisine sans jamais pouvoir dire "si le plat est trop salé, ajoute de l'eau" ou "répète cette étape 5 fois". Les conditions et les boucles donnent à vos scripts la capacité de prendre des décisions et de répéter des actions — exactement ce dont on a besoin pour automatiser des tâches répétitives du quotidien.

Les conditions : faire des choix avec if / elif / else

Une condition permet à votre programme de choisir un chemin d'exécution selon qu'une expression est vraie ou fausse.

python
1age = 20
2
3if age < 18:
4    print("Mineur")
5elif age < 65:
6    print("Adulte")
7else:
8    print("Senior")

Voici comment Python évalue ces conditions, étape par étape :

💡 À retenir : Python teste les conditions dans l'ordre. Dès qu'une condition est vraie, le bloc correspondant s'exécute et les suivantes sont ignorées.

Les opérateurs de comparaison

OpérateurSignificationExempleRésultat
==Égal à5 == 5True
!=Différent de5 != 3True
<Inférieur à3 < 5True
>Supérieur à3 > 5False
<=Inférieur ou égal à5 <= 5True
>=Supérieur ou égal à4 >= 5False

⚠️ Attention : Ne confondez pas = (affectation, donner une valeur) et == (comparaison, tester l'égalité). C'est l'une des erreurs les plus fréquentes chez les débutants !

Les boucles : répéter des actions

La boucle for

Elle permet de répéter une action pour chaque élément d'une séquence (liste, texte, plage de nombres...).

python
1factures = ["Facture A", "Facture B", "Facture C"]
2
3for facture in factures:
4    print(f"Traitement de : {facture}")

La boucle while

Elle répète un bloc d'instructions tant qu'une condition reste vraie.

python
1compteur = 0
2
3while compteur < 3:
4    print(f"Tentative n°{compteur + 1}")
5    compteur += 1

Voici la différence de logique entre les deux boucles :

🎯 En pratique : Utilisez for quand vous connaissez à l'avance le nombre d'éléments à traiter (ex : une liste de fichiers). Utilisez while quand vous répétez une action jusqu'à ce qu'une condition change (ex : attendre une réponse valide de l'utilisateur).

Combiner conditions et boucles

Le vrai pouvoir de l'automatisation apparaît quand on combine les deux : parcourir une liste et prendre une décision pour chaque élément.

python
1factures = [
2    {"nom": "Facture A", "payee": True},
3    {"nom": "Facture B", "payee": False},
4    {"nom": "Facture C", "payee": False},
5]
6
7for f in factures:
8    if f["payee"]:
9        print(f"{f['nom']} : déjà réglée ✅")
10    else:
11        print(f"{f['nom']} : en attente de paiement ⏳")

Comparatif rapide for vs while

Critèreforwhile
Usage typiqueParcourir une séquence connueRépéter jusqu'à une condition
Risque de boucle infinieTrès faibleÉlevé si mal codée
LisibilitéExcellente pour des listesExcellente pour des attentes
Exemple typeTraiter chaque fichier d'un dossierRedemander une saisie valide

Testez une condition vous-même

Modifiez la note et voyez quelle branche du if/elif/else serait exécutée.

Le saviez-vous ?

Le mot-clé 'elif' est une contraction de 'else if', propre à Python. D'autres langages comme JavaScript ou C nécessitent d'écrire 'else if' en deux mots !

Documentation officielle Python

Attention aux pièges classiques

⚠️ Attention : Une boucle while mal conçue peut tourner indéfiniment si la condition ne devient jamais fausse. Vérifiez toujours que la variable testée évolue à chaque tour (ex : compteur += 1).

💡 À retenir : En Python, l'indentation (les espaces au début de ligne) définit les blocs de code. Une erreur d'indentation dans un if ou une boucle provoque une erreur de syntaxe.

Mini-quiz

Mini-Quiz
Question 1 / 3

Que fait ce code : `if x == 5: print('ok')` ?

En bref
  • 1Les conditions (if/elif/else) permettent à un programme de choisir un chemin d'exécution selon qu'une expression est vraie ou fausse.
  • 2Les boucles (for pour une séquence connue, while pour une condition) permettent de répéter des actions sans dupliquer le code.
  • 3Combiner conditions et boucles est la base de l'automatisation : parcourir des éléments et décider quoi faire pour chacun.