Boucle for#

La boucle for permet de répéter un bloc d'instructions un nombre de fois connu à l'avance. Mais elle permet de faire des choses beaucoup plus intéressantes, tel que parcourir une chaîne de caractères ou une liste un élément après l'autre.

for _ in range(nb_repetitions):
  instruction 1
  instruction 2
  ...

Programme

for i in range(5):
  print(i)

Ordinogramme

Ordinogramme boucle for
  1. Quelles valeurs prend la variable i?

  2. Changez le nombre de répétitions.

  3. Modifiez le code pour afficher les nombres de 1 à 10?

En réalité, la boucle for fait plus que juste répéter x fois: pour chaque itération (passage de la boucle), la variable (ici nommée i) va prendre la valeur d'un élément de l'ensemble range(n), c'est-à-dire l'ensemble des nombres entiers de 0 à n non compris \(\{0; 1; 2; ...; n-1\}\). Il est donc possible d'utiliser la valeur de cette variable dans la boucle.

Exercice 3#

Cochez la bonne réponse.

  1. Qu'affiche le progamme suivant?

    1for i in range(3):
    2  print("Hello")
    
  2. Qu'affiche le progamme suivant?

    1for i in range(4):
    2  print(i)
    
  3. Qu'affiche le progamme suivant?

    1for i in range(2):
    2  print("i")
    
  4. Qu'affiche le progamme suivant?

    1for i in range(5):
    2  print(i+1)
    

Exercice 4#

  1. Écrivez un programme en utilisant la boucle for qui affiche les nombres de 0 à 9.

# Écrivez le programme ici
  1. Écrivez un programme en utilisant la boucle for qui affiche les nombres de 1 à 10.

# Écrivez le programme ici
  1. Écrivez un programme en utilisant la boucle for qui affiche les 12 premiers multiples de 5.

# Écrire le programme ici

Exercice 5#

Que va afficher ce programme?

1somme = 0
2for nombre in range(6):
3  somme += nombre
4print("La somme est", somme)

Exercice 6#

Écrivez un programme qui affiche le produit de tous les nombres de 1 à 10.


Exercice 7#

Indiquez l'ordre d'exécution des lignes et ce qu'affichera le programme.

1a = 4
2b = 1
3for i in range (3):
4  a += 5
5  b *= 2
6  print("i =", i)
7print("a =", a, "b =", b)

Exercice 8#

Il est toujours possible de convertir une boucle for en boucle while, par contre il n'est pas toujours possible de convertir une boucle while en boucle for, notamment si on ne sait pas à l'avance le nombre d'itérations.

  1. Quel(s) code(s) correspond(ent) à la boucle for ci-dessous?

    1for i in range(5):
    2  print(i)
    
  2. Quel(s) code(s) correspond(ent) à la boucle for ci-dessous?

    1for i in range(4):
    2  print(i + 1)
    
  3. Quel(s) code(s) correspond(ent) à la boucle while ci-dessous?

    1x = 4
    2while x < 7:
    3  print(x)
    4  x += 1
    
  4. Quel(s) code(s) correspond(ent) à la boucle while ci-dessous?

    1x = 2
    2while x <= 5:
    3  print(x)
    4  x += 1
    
  5. Cochez les boucles while qui ne peuvent pas être transformées en boucle for.