Avancer

Section 1.2 Boucles

Voici les mots-clés des boucles for et des boucles while en Python.

  • for ... in ... : se lit « pour ... dans ... ».
  • while ... : se lit « tant que ... ».

Attention à ne pas oublier les deux-points :.

Sous-section 1.2.1 Boucles for

Une boucle for correspond typiquement à une itération indexée par une variable prenant toutes les valeurs entières comprises entre deux bornes.

Pour faire cela, vous allez très souvent utiliser la commande range(a, b), qui a l'inconvénient de comporter un gros piège.

Le code suivant fait exactement la même chose, mais il permet de mettre en évidence la vraie borne supérieure de l'ensemble

\begin{equation*} \left\{3, 4, 5, 6, 7\right\} \end{equation*}

auquel correspond la commande range(3, 8).

J'utiliserai souvent cet artifice d'écriture à des fins purement pédagogiques.

Remarque 1.2.1. Indentations.

Notez l'indentation de 4 espaces qui précède print(k) dans les deux exemples précédents : elle signifie que l'instruction print(k) fait partie de la boucle for.

Ce nombre de 4 espaces est typique avec Python et je vous invite à le respecter scrupuleusement, même si cela semble fonctionner avec 3, 7, ou n'importe quel nombre positif d'espaces.

Avant de passer à la suite, évaluez puis corrigez le code erroné qui suit afin d'obtenir \(5\cdot 3=15\) lignes d'affichage.

Les trois exemples qui suivent sont là pour illustrer l'importance des indentations et de l'ordre dans lequel les instructions sont données. Dans tous les cas, il s'agit d'utiliser une boucle for pour calculer la somme

\begin{equation*} \sum_{k=1}^5k=1+2+3+4+5. \end{equation*}

Nous allons simplement déplacer l'instruction print(somme) pour voir l'effet de sa position dans la séquence d'instructions sur le résultat.

  • Pour suivre pas à pas l'évaluation du code précédent, cliquez sur Next autant de fois que nécessaire dans l'application Python Tutor.

  • Pour suivre pas à pas l'évaluation du code précédent, cliquez sur Next autant de fois que nécessaire dans l'application Python Tutor.

  • Pour suivre pas à pas l'évaluation du code précédent, cliquez sur Next autant de fois que nécessaire dans l'application Python Tutor.

Sous-section 1.2.2 Boucles while

À la différence d'une boucle for, une boucle while ne nécessite pas de connaître au préalable le nombre d'itérations à effectuer.

Voici comment faire la même chose que le premier bloc de code de la section 1.2.1 sur les boucles for, mais avec une boucle while.

Essayez maintenant de deviner ce que le bloc de code suivant affiche avant de l'évaluer.

Dans l'exemple qui suit, nous allons afficher tous les multiples de \(7\) compris entre \(7\) et \(60\) inclus.

Pour finir, essayez de faire la même chose avec une boucle for. Voyez-vous quel peut être l'avantage d'utiliser une boucle while?