Python au lycée (3) : Les boucles Méthode

Parcourir des entiers avec for et range

Durée estimée
5 minutes
Votre progression

Créez un compte gratuit pour suivre votre avancement et reprendre où vous avez laissé.

Créer un compte

Méthode

Pour parcourir des entiers avec une boucle for :

  1. Écrire for i in range(...) : suivi des deux-points. La variable i (on peut lui donner n'importe quel nom) prendra successivement les valeurs entières indiquées.
  2. Choisir le bon appel à range :
  3. range(n) : parcourt 0, 1, 2, …, $n-1$ (donc $n$ valeurs au total).
  4. range(a, b) : parcourt $a$, $a+1$, …, $b-1$ (donc $b-a$ valeurs).
  5. range(a, b, p) : parcourt $a$, $a+p$, $a+2p$, … tant que la valeur reste strictement inférieure à $b$.
  6. Indenter les instructions à répéter. Elles sont exécutées pour chaque valeur de i.
  7. Revenir à gauche pour les instructions exécutées après la boucle.

Afficher les entiers de 1 à 5

On veut afficher les entiers de 1 à 5 :

for i in range(1, 6) :
    print(i, end=" ")
print("fin")

Étape 1 : On souhaite que i prenne les valeurs 1, 2, 3, 4, 5 (cinq valeurs). On écrit donc range(1, 6) (la borne supérieure est exclue).

Étape 2 : À chaque tour de boucle, i prend une nouvelle valeur et print(i, end=" ") affiche cette valeur suivie d'un espace (au lieu d'un saut de ligne).

Étape 3 : Après la boucle, le programme affiche « fin ». Résultat à l'écran :

1 2 3 4 5 fin

Multiples de 3 inférieurs à 20

On veut afficher 0, 3, 6, …, 18 :

for i in range(0, 20, 3) :
    print(i, end=" ")

Étape 1 : Le pas est 3 (on va de 3 en 3). Le point de départ est 0. Le dernier multiple de 3 strictement inférieur à 20 est 18.

Étape 2 : On écrit range(0, 20, 3). À chaque tour, i vaut 0, 3, 6, 9, 12, 15, 18 (sept valeurs).

Étape 3 : Le programme affiche : 0 3 6 9 12 15 18.

Attention

Piège principal : la borne supérieure de range est exclue.

Pour parcourir les entiers de 1 à 10 inclus, il faut écrire range(1, 11) et non range(1, 10).

Pour parcourir les entiers de 0 à $n$ inclus, il faut écrire range(n + 1).

Pour s'entraîner