# Les boucles L'activité consiste en un TD comprenant un __cours dirigé__ et des __exercices__ relatifs à la notion de _boucles_ en Python. ## Pré-requis Avoir effectué l'activité sur les [instructions conditionnelles](../chapitre_2/) ## Consignes 1. Télécharger le fichier [TD.ipynb](./TD.ipynb), 2. Se rendre sur [Basthon](https://notebook.basthon.fr/), 3. Ouvrir le fichier TD.ipynb téléchargé, 4. Suivre le déroulé du TD, les réponses sont à mettre directement dans votre fichier, 5. À la fin de la séance, n'oubliez pas de sauvegarder votre fichier sur votre clé USB ou espace personnel. --------- ## Mémo - Les boucles ### Boucle for (boucle bornée) Utilisée quand on **connaît le nombre d'itérations** à l'avance. ```python # Répéter 5 fois (i vaut 0, 1, 2, 3, 4) for i in range(5): print(i) # Parcourir une liste for element in liste: print(element) # Parcourir une chaîne caractère par caractère for lettre in "Bonjour": print(lettre) ``` ### La fonction range() | Syntaxe | Résultat | |---------|----------| | `range(5)` | 0, 1, 2, 3, 4 | | `range(2, 7)` | 2, 3, 4, 5, 6 | | `range(0, 10, 2)` | 0, 2, 4, 6, 8 | | `range(5, 0, -1)` | 5, 4, 3, 2, 1 | ### Boucle while (boucle non bornée) Utilisée quand on **ne connaît pas** le nombre d'itérations à l'avance. ```python # Répéter tant que la condition est vraie compteur = 0 while compteur < 5: print(compteur) compteur = compteur + 1 # Ne pas oublier ! ``` ### Comparaison for vs while | Situation | Boucle à utiliser | |-----------|-------------------| | Répéter n fois | `for i in range(n)` | | Parcourir une liste | `for element in liste` | | Jusqu'à une condition | `while condition` | | Saisie utilisateur valide | `while` | ### Exemple : Parcourir avec l'indice ```python liste = ["a", "b", "c"] # Méthode 1 : par les éléments for element in liste: print(element) # Méthode 2 : par les indices for i in range(len(liste)): print(i, liste[i]) ``` ### Attention aux boucles infinies ! ```python # DANGER : boucle infinie (n n'est jamais modifié) n = 0 while n < 5: print(n) # n = n + 1 ← Oublié ! ``` --------- ## Pour aller plus loin Une fois le TD __fini__ et __validé__, vous pouvez effectuer l'[activité suivante](../chapitre_4/)