5.2 Boucle for
Objectifs d'apprentissage
À la fin de cette section, vous devriez être en mesure de :
- Expliquer la structure de la boucle
for. - Utiliser une boucle
forpour exécuter des tâches répétitives.
Boucle for
En Python, un conteneur (container) peut être un intervalle de nombres, une chaîne de caractères ou une liste de valeurs. Pour accéder aux objets situés dans un conteneur, une boucle itérative peut être conçue pour récupérer les objets un par un. Une boucle for (for loop) itère sur tous les éléments d'un conteneur. Ex. : Parcourir la liste d'une classe et afficher le nom des étudiants.
Concepts en pratique
Boucle for sur un conteneur de type chaîne
Une variable chaîne de caractères peut être considérée comme un conteneur de plusieurs caractères et peut donc faire l'objet d'itérations. À partir du code suivant, répondez aux questions.
str_var = "A string"
count = 0
for c in str_var:
count += 1
print(count)
Fonction Range()
dans une boucle for
Une boucle for peut être utilisée pour l'itération et le comptage. La fonction range() est une approche courante pour implémenter un comptage dans une boucle for. Une fonction range() génère une séquence d'entiers entre deux nombres selon un pas donné. Cette séquence d'entiers inclut le début et exclut la fin de la séquence. La fonction range() peut prendre jusqu'à trois valeurs en entrée. Des exemples sont fournis dans le tableau ci-dessous.
| Fonction range | Description | Exemple | Sortie |
|---|---|---|---|
|
|
|
|
|
|
|
|
|
|
||
|
|
||
|
|
|
|
|
|
||
|
|
||
|
|
Exemple 5.2
Deux programmes affichant tous les multiples entiers de 5 inférieurs à 50 (remarquez la concision de la structure for par rapport à la structure while)
# For loop condition using
# range() function to print
# all multiples of 5 less than 50
for i in range(0, 50, 5):
print(i)
|
# While loop implementation of printing
# multiples of 5 less than 50
# Initialization
i = 0
# Limiting the range to be less than 50
while i < 50:
print(i)
i+=5
|
Concepts en pratique
Boucle for utilisant la fonction range()
À vous d'essayer
Compter les espaces
Écrivez un programme utilisant une boucle for qui prend en entrée une chaîne de caractères et compte le nombre d'espaces dans celle-ci. Le programme doit afficher le nombre d'espaces comptés. Ex. : Si l'entrée est "Hi everyone", le programme affiche 1.
À vous d'essayer
Séquences
Écrivez un programme qui lit deux valeurs entières, n1 et n2, avec n1 < n2, et effectue les tâches suivantes :
- Afficher tous les nombres pairs entre les deux nombres fournis (les deux inclus), par ordre croissant.
- Afficher tous les nombres impairs entre les deux nombres fournis (les deux exclus), par ordre décroissant.
Input: 2 8
Prints:
2 4 6 8
7 5 3
Remarque : le programme doit renvoyer un message d'erreur si le deuxième nombre est inférieur au premier.