
Structures de contrôle : conditions et boucles
Apprenez à contrôler le flux d'exécution de votre programme Python avec les structures de contrôle : instructions conditionnelles (if, elif, else) et boucles (for, while). Découvrez comment prendre des décisions et répéter des actions en Python.
Instructions conditionnelles : prenez des décisions dans votre code
Les instructions conditionnelles vous permettent d'exécuter un bloc de code uniquement si une certaine condition est vraie. C'est comme un embranchement dans votre programme : en fonction de la condition, le programme prendra un chemin ou un autre.
En Python, l'instruction conditionnelle de base est `if`. Elle est suivie d'une expression booléenne (une expression qui s'évalue à `True` ou `False`), puis d'un bloc de code indenté (c'est-à-dire décalé vers la droite). Le bloc de code est exécuté uniquement si l'expression booléenne est vraie.
Vous pouvez également utiliser l'instruction `else` pour spécifier un bloc de code à exécuter si la condition est fausse. Et vous pouvez utiliser l'instruction `elif` (contraction de `else if`) pour spécifier des conditions supplémentaires.
Par exemple : `if age >= 18: print("Vous êtes majeur") elif age >= 13: print("Vous êtes adolescent") else: print("Vous êtes mineur")`. Dans cet exemple, le programme affiche un message différent en fonction de la valeur de la variable `age`.
Nous verrons comment utiliser les instructions conditionnelles, comment combiner des conditions avec les opérateurs logiques (`and`, `or`, `not`), et comment imbriquer des instructions conditionnelles.
Boucles `for` : parcourez des séquences
Les boucles vous permettent de répéter un bloc de code plusieurs fois. C'est très utile lorsque vous devez effectuer la même opération sur plusieurs éléments, ou lorsque vous devez exécuter une tâche jusqu'à ce qu'une certaine condition soit remplie.
En Python, il existe deux types de boucles : les boucles `for` et les boucles `while`. Les boucles `for` sont utilisées pour parcourir des séquences, comme des listes, des tuples, des chaînes de caractères, ou des ranges (séquences de nombres).
Par exemple : `for nom in ['Alice', 'Bob', 'Charlie']: print('Bonjour', nom)`. Dans cet exemple, le programme affiche "Bonjour Alice", puis "Bonjour Bob", puis "Bonjour Charlie". La variable `nom` prend successivement chaque valeur de la liste.
Nous verrons comment utiliser les boucles `for`, comment parcourir différents types de séquences, comment utiliser la fonction `range()` pour générer des séquences de nombres, et comment imbriquer des boucles `for`.
Boucles `while` : répétez jusqu'à ce qu'une condition soit remplie
Les boucles `while` sont utilisées pour répéter un bloc de code tant qu'une certaine condition est vraie. Contrairement aux boucles `for`, qui parcourent un nombre fini d'éléments, les boucles `while` peuvent s'exécuter indéfiniment si la condition ne devient jamais fausse.
Par exemple : `compteur = 0; while compteur < 10: print(compteur); compteur += 1`. Dans cet exemple, le programme affiche les nombres de 0 à 9. La variable `compteur` est initialisée à 0, et la boucle continue tant que `compteur` est inférieur à 10. A chaque itération, `compteur` est incrémenté de 1.
Il est important de s'assurer que la condition de la boucle `while` deviendra fausse à un moment donné, sinon votre programme entrera dans une boucle infinie et ne se terminera jamais.
Nous verrons comment utiliser les boucles `while`, comment éviter les boucles infinies, et comment combiner des boucles `while` avec des instructions conditionnelles.
Instructions `break` et `continue` : contrôlez le flux de vos boucles
Les instructions `break` et `continue` vous permettent de modifier le comportement normal d'une boucle. `break` vous permet de sortir immédiatement d'une boucle, même si la condition de la boucle est encore vraie. `continue` vous permet de passer à l'itération suivante de la boucle, sans exécuter le reste du code dans le bloc de la boucle.
Par exemple, imaginez que vous ayez une boucle `for` qui parcourt une liste de nombres, et que vous vouliez arrêter la boucle dès que vous rencontrez un nombre négatif. Vous pouvez utiliser `break` pour cela : `for nombre in nombres: if nombre < 0: break; print(nombre)`.
Ou imaginez que vous ayez une boucle `for` qui parcourt une liste de nombres, et que vous vouliez ignorer les nombres pairs et afficher uniquement les nombres impairs. Vous pouvez utiliser `continue` pour cela : `for nombre in nombres: if nombre % 2 == 0: continue; print(nombre)`.
Nous verrons comment utiliser `break` et `continue` dans différents contextes, et comment les utiliser pour rendre votre code plus clair et plus efficace.
Compréhensions de listes : créez des listes de manière concise
Les compréhensions de listes sont une construction Python puissante et élégante qui vous permet de créer des listes de manière concise, en une seule ligne de code. Elles sont souvent plus rapides et plus lisibles que les boucles `for` équivalentes.
Une compréhension de liste est une expression qui combine une boucle `for` avec une expression qui génère les éléments de la liste. Elle peut également inclure une condition `if` pour filtrer les éléments.
Par exemple, pour créer une liste des carrés des nombres de 0 à 9, vous pouvez utiliser une boucle `for` : `carres = []; for i in range(10): carres.append(i2)`. Ou vous pouvez utiliser une compréhension de liste : `carres = [i2 for i in range(10)]`.
Pour créer une liste des nombres pairs de 0 à 9, vous pouvez utiliser une compréhension de liste avec une condition `if` : `pairs = [i for i in range(10) if i % 2 == 0]`.
Nous verrons comment utiliser les compréhensions de listes, comment les combiner avec des conditions `if`, et comment créer des compréhensions de listes imbriquées. Les compréhensions de liste sont un outil puissant qui peut rendre votre code plus concis et plus expressif, une fois que vous avez pris l'habitude de les utiliser.