Accueil › Cours › La boucle Pour
Boucle Pour en Python et algo (for, range) : cours 2ème TI
Répète des instructions un nombre de fois connu.
Les leçons de ce chapitre
- Répéter avec Pour
- Somme, compteur et moyenne
- Parcourir un texte
Leçon 6.1 : Répéter avec Pour
Quand on sait combien de fois répéter, on utilise la boucle Pour. Un compteur (souvent i) prend successivement toutes les valeurs d'un début à une fin, et les instructions du bloc sont répétées pour chaque valeur.
- Algorithme :
Pour i de 1 à 5 Faire…FinPour(la fin est incluse). - Python :
for i in range(1, 6):: la fin est exclue, doncrange(1, 6)donne 1, 2, 3, 4, 5. range(5)donne 0, 1, 2, 3, 4 : cinq tours, en partant de 0.
Le pas
Par défaut le compteur avance de 1. On peut changer le pas : range(0, 11, 2) donne 0, 2, 4, 6, 8, 10. Avec un pas négatif on descend : range(10, 0, -3) donne 10, 7, 4, 1.
Attention : Ne modifie jamais le compteur à l'intérieur de la boucle Pour : c'est la boucle qui le gère.
En Python
Deux boucles : une qui monte de 1 à 5, une qui descend de 3 en 3.
for i in range(1, 6):
print("Tour numéro", i)
for k in range(10, 0, -3):
print("Compte à rebours :", k)
En algorithme
En algorithme la fin est incluse : on écrit à 5 pour aller jusqu'à 5. Le pas se note pas.
Algorithme Boucles
Début
Pour i de 1 à 5 Faire
Ecrire("Tour numéro ", i)
FinPour
Pour k de 10 à 1 pas = -3 Faire
Ecrire("Compte à rebours : ", k)
FinPour
Fin
TDO
Objet | Type/Nature
i, k | Entier
Leçon 6.2 : Somme, compteur et moyenne
Avec une boucle on peut accumuler : une variable garde un résultat qui évolue à chaque tour. On l'initialise avant la boucle, puis on la met à jour dans la boucle.
- Somme :
somme ← 0, puissomme ← somme + valeurà chaque tour. - Compteur :
c ← 0, puisc ← c + 1quand la condition est vraie. - Produit : on initialise à 1, pas à 0 (sinon tout reste 0).
Astuce : Pour la moyenne, on divise la somme par le nombre de valeurs après la boucle.
En Python
Le nombre de notes est lu d'abord : la boucle for répète la lecture, et somme accumule.
print("Combien de notes ?")
n = int(input())
somme = 0
for i in range(n):
print("Note", i + 1, ":")
somme = somme + float(input())
print("Moyenne :", somme / n)
En algorithme
En algorithme le compteur va de 1 à n : on écrit Pour i de 1 à n.
Algorithme Moyenne
Début
Ecrire("Combien de notes ?")
Lire(n)
somme ← 0
Pour i de 1 à n Faire
Ecrire("Note ", i, " :")
Lire(note)
somme ← somme + note
FinPour
Ecrire("Moyenne : ", somme / n)
Fin
TDO
Objet | Type/Nature
n, i | Entier
note, somme | Réel
Leçon 6.3 : Parcourir un texte
La boucle Pour sert aussi à parcourir une chaîne caractère par caractère : le compteur est l'indice, de 0 à longueur − 1.
En Python on a aussi une forme plus courte : for lettre in mot: donne directement chaque lettre, sans passer par l'indice.
Astuce : Avec les chaînes en algorithme, la boucle va de 0 à long(mot) - 1.
En Python
On compte les voyelles : pour chaque lettre, on teste si elle est dans "aeiouy".
mot = input()
voyelles = 0
for i in range(len(mot)):
if mot[i] in "aeiouy":
voyelles = voyelles + 1
print("Voyelles :", voyelles)
En algorithme
pos(x, ch) vaut -1 quand x n'est pas dans ch, donc ≠ -1 veut dire « est dedans ».
Algorithme Voyelles
Début
Lire(mot)
voyelles ← 0
Pour i de 0 à long(mot) - 1 Faire
Si pos(mot[i], "aeiouy") ≠ -1 Alors
voyelles ← voyelles + 1
FinSi
FinPour
Ecrire("Voyelles : ", voyelles)
Fin
TDO
Objet | Type/Nature
mot | Chaîne de caractères
voyelles, i | Entier
S'entraîner gratuitement
Chaque leçon a 3 exercices gratuits avec indices, et 8 missions du jeu pour appliquer ce chapitre avec Hannibot.
← Chapitre précédent : Les chaînes de caractères · Chapitre suivant : Tant que et Répéter →
Tous les chapitres · Voir les devoirs corrigés de 2ème TI
Cours écrit pour Mission Carthage d'après le programme officiel. Ton professeur reste la référence.