Les boucles
Apprendre à programmer en python
Une boucle permet d’exécuter une portion de code plusieurs fois de suite.
L’instruction : while
Syntaxe
while expression: # ne pas oublier le signe de ponctuation ':'
bloc d'instructions # attention à l'indentation
# suite du programme
Si l’expression est vraie (True
) le bloc d’instructions est exécuté, puis l’expression est à nouveau évaluée.
Le cycle continue jusqu’à ce que l’expression soit fausse (False
) : on passe alors à la suite du programme.
Exemple : un script qui compte de 1 à 4
compteur = 1 # initialisation de la variable de comptage
while compteur < 5:
# ce bloc est exécuté tant que la condition (compteur < 5) est vraie
print(compteur, compteur < 5)
compteur = compteur + 1 # incrémentation du compteur,ou compteur += 1
print("Fin de la boucle")
>>>
1 True
2 True
3 True
4 True
Fin de la boucle
L’instruction : for
Syntaxe
for élément in séquence :
bloc d'instructions
# suite du programme
Les éléments de la séquence sont issus d’une chaîne de caractères ou bien d’une liste.
Exemple avec une séquence de caractères
chaine = 'Bonsoir'
for lettre in chaine: # lettre est la variable d'itération
print(lettre)
print("Fin de la boucle")
La variable lettre
est initialisée avec le premier élément de la séquence ('B'
).
Le bloc d’instructions est alors exécuté.
Puis la variable lettre
est mise à jour avec le second élément de la séquence ('o'
) et le bloc d’instructions à nouveau exécuté…
Le bloc d’instructions est exécuté une dernière fois lorsqu’on arrive au dernier élément de la séquence ('r'
) :
>>>
B
o
n
s
o
i
r
Fin de la boucle
Exemple avec les éléments d’une liste
maliste = ['Pierre', 67.5, 18]
for element in maliste:
print(element)
print("Fin de la boucle")
Là, on affiche dans l’ordre les éléments de la liste :
Pierre
67.5
18
Fin de la boucle
Fonction : range()
L’association avec la fonction range()
est très utile pour créer des séquences automatiques de nombres entiers :
for i in range(5,9): # pour i allant de [5;9[ 9 est exclu
print("La valeur de i est :",i)
print("Fin de la boucle")
>>>
La valeur de i est :1
La valeur de i est :2
La valeur de i est :3
La valeur de i est :4
Fin de la boucle
Entraînement 1 :
Que font les codes suivants :
-
for i in range(11): print("La valeur de i est :",i)
-
for i in range(0,20,2): print("La valeur de i est :",i)
Astuce
Si vous connaissez le nombre de boucles à effectuer, utiliser une boucle for
.
Autrement, utiliser une boucle while
(notamment pour faire des boucles sans fin).
Entraînement 2 :
Écrire un script qui affiche la table de multiplication de 4 (de 1 à 10)Entraînement 3 :
Initialisez deux entiers : a = 0 et b = 10.Écrire une boucle affichant et incrémentant la valeur de a tant qu’elle reste inférieure à celle de b.
Entraînement 4 :
Initialisez deux entiers : a = 0 et b = 10.Écrire une autre boucle décrémentant la valeur de b et affichant sa valeur si elle est impaire. Boucler tant que b n’est pas nul.