Boucle for#

Répétition un bloc d'instructions#

La boucle for permet de répéter un bloc d'instructions un nombre de fois connu à l'avance.

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

Exemple 5#

ProgrammeOrdinogramme
print("Voici ma punition:")
for _ in range(10):
  print("Je dois faire mes devoirs.")
print("J'ai fini.")
Ordinogramme boucle for

Exercice 39#

Sans les exécuter, qu'afficheront les programmes suivants?

Ensuite, tester vos réponses en les exécutant.

  1. 1print("Lancer d'une pièce.")
    2for _ in range(5):
    3  print("Pile")
    4print("Fin du jeu")
    
  2. 1print("Lancer d'une pièce.")
    2for _ in range(3):
    3  print("Pile")
    4  print("Face")
    5print("Fin du jeu")
    
  3. 1print("Lancer d'une pièce.")
    2for _ in range(2):
    3  print("Pile")
    4  print("Face")
    5  print("Pile")
    6print("Fin du jeu")
    
  4. 1print("Lancer d'une pièce.")
    2for _ in range(2):
    3  print("Pile")
    4  print("Face")
    5  print("Pile")
    6  print("Fin du jeu")
    

Exercice 40#

  1. Que fait le programme suivant?

  2. Modifiez-le pour qu'il affiche 9 fois "Salut".

  3. Modifiez-le pour qu'il affiche:

    Salut
    Comment ça va?
    Salut
    Comment ça va?
    Salut
    Comment ça va?
    
  4. Modifiez-le pour qu'à la fin du programme, il afficher "Au revoir!".

for _ in range(6):
  print("Salut")

Utilisation de la variable de la boucle for#

La boucle for fait plus que juste répéter x fois un bloc d'instructions: pour chaque itération (passage de la boucle), la variable (dans l'exemple ci-dessous nommée i) va prendre la valeur 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.

Important

Dans for _ in range(nb_repetitions):, le _ représente une variable que nous pouvons appeler comme nous le souhaitons (en respectant les règles de nommage des variables.)

Toutes ces notations sont correctes: for _ in range(3):, for nombre in range(3):, for i in range(3):.

for _ in range(3): est utilisée seulement lorsque nous n'utilisons pas la valeur de la variable dans la boucle.

Exemple 6#

Le programme suivant affiche les nombres de 0 à 9.

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

Exercice 41#

Écrivez un programme qui affiche les nombres entiers de 0 jusqu'à 17 et affiche à la fin "J'ai fini de compter!".

# Écrivez le programme ici

Exercice 42#

Modifiez le programme de l'exemple pour qu'il affiche les nombres entiers de 1 à 10.

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

Exercice 43#

Écrivez un programme qui calcule et affiche la somme des dix premiers nombres entiers.

# Écrivez le programme ici

Exercice 44#

Écrivez un programme qui calcule et affiche le produit des cinq premiers nombres entiers.

# Écrivez le programme ici

Exercice 45#

Écrivez un programme qui demande à l'utilisateur un nombre entier et affiche les 10 premiers multiples de ce nombre.

# Écrivez le programme ici

Exercice 46#

Écrivez un programme qui affiche les nombres paires jusqu'à 20.

# Écrivez le programme ici

Exercice 47#

Écrivez un programme qui affiche le résultat des calculs suivants:

  1. \(1 + 2 + 3 + 4 + ... + 99 + 100\)

    # Écrivez le programme ici
    
  2. \(1 + 3 + 5 + 7 + ... + 97 + 99\)

    # Écrivez le programme ici
    

Exercice 48#

Bob souhaite construire une pyramide à base carrée comme sur la photo.

Pyramide
  1. Écrivez un programme qui permet de calculer le nombre de billes nécessaires pour construire la pyramide de l'image (elle a 7 étages). Utiliser une boucle for.

    # Écrivez le programme ici
    
  2. Modifiez le programme précédent pour calculer le nombre de billes nécessaires pour construire une pyramide à 100 étages.

    # Écrivez le programme ici
    
  3. Modifiez le programme pour que l'utilisateur puisse choisir le nombre d'étages.

    # Écrivez le programme ici
    

Exercice 49#

Le 1er janvier, les parents de Chrystel ont déposé sur son livret d'épargne 1500 CHF au taux de 2 %.

  1. Écrivez un programme pour calculer le montant qu'elle aura après 1 an.

    # Écrivez le programme ici
    
  2. Modifiez le programme précédent pour calculer le montant qu'elle aura dans 10 ans. Utilisez une boucle for.

    # Écrivez le programme ici
    
  3. Modifiez le programme pour que l'utilisateur puisse choisir la durée (le nombre d'années) et la montant initial.

    # Écrivez le programme ici
    
  4. Modifiez le programme pour que l'utilisateur puisse aussi choisir le taux d'intérêt (en %).

    # Écrivez le programme ici