Vous êtes sur la page 1sur 4

Le python landais

Accueil

Plan du cours
Introduction
1. Installation
2. Variables
3. Types
4. If
5. While
6. For ... in
7. Fonctions
8. Interfaces graphiques
9. Listes
10. Interfaces graphiques 2
11. Traitement de l'image

Les exercices

Les QCM

Reeborg

Mini projets

Codage

L'ordinateur

Liens et ressources

La boucle for … in ...

Plan du chapitre :
1. Pour découvrir la boucle for ... in ... .
2. Introduction.
3. La boucle for … in ... en Python.
4. La boucle for pour parcourir une chaîne de caractères.

1) Pour découvrir la boucle for ... in ... .


--> Reeborg for ... in ...

2) Introduction.
Dans certaines situations, nous sommes amenés à répéter plusieurs fois de suite une même tâche. Nous
avons déjà vu que pour éviter de répéter la même instruction plusieurs fois, nous avions recours en
informatique à des boucles.

Deux types de situation peuvent se présenter :

le nombre de répétitions n'est pas connu à l'avance, mais on connaît un test d'arrêt de la boucle :

Exemple :
un jeu consiste à lancer un dé jusqu'à obtenir un six.
Nous ne savons pas à l'avance combien de fois il faudra lancer le dé.

Pour ce genre de situation, les langages de programmation proposent la boucle TANT QUE :

TANT QUE ( ) FAIRE :


lancer le dé
FIN_TANT_QUE

le nombre de répétitions est connu à l'avance : on utilise alors une boucle POUR :

Exemple :
un jeu consiste à lancer 3 fois de suite un dé. Si l'on obtient au moins un six, on gagne;
sinon, on perd.
Nous savons à l'avance combien de fois il faudra lancer le dé (3 fois).

Pour ce genre de situation, les langages de programmation proposent la boucle POUR :

POUR i ALLANT_DE 1 A 3 :
lancer le dé
FIN_POUR

Remarque :
La variable i joue ici le rôle d'un compteur : elle compte les tours de boucles réalisés.
3) La boucle for … in ... en Python.
En anglais, range signifie ampleur, gamme, envergure, étendue. Même si cette traduction n'est pas
correcte, nous penserons intervalle.

Testons ces quelques lignes :

>>> for i in range(1,4) :


print (i)

--> Terminons par Enter; que se passe-t-il ?


--> Quelles sont les valeurs qui ont été prises par i ?
--> Traduire en français « for i in range (1,4)» :
--> Ce que nous pouvons encore comprendre comme : 1 <= i < 4, ou encore : 1 <= i <= 4-1.

Attention :
Dans les sujets de Bac en mathématiques, nous trouverons la syntaxe suivante :
Pour i allant de 1 à N; sous-entendu, N compris.

En Python, for i in range (1,N) : s'arrête à N-1 : donc N non compris.


Pour aller jusqu'à N, nous taperons : for i in range(1,N+1) :.

Remarques :
1. Comme les instructions if et while, l’instruction « for … in … » amorce une séquence d'instructions.
Le double point à la fin de la ligne introduit le bloc d’instructions à répéter, lequel doit obligatoirement se
trouver en retrait : être indenté.
La fin du bloc d'instructions à répéter est signalé par la fin de l'indentation.

2. Dans les exercices de mathématiques, les valeurs prises par le compteur de la boucle ont souvent
une importance déterminante. C'est pourquoi nous avons privillégié la syntaxe :

for i in range(1,4) :
print("T'as le bonjour d'Albert !")

Dans un cas comme celui-ci, seul compte le nombre de répétitions, et non les valeurs par lesquelles
passe le compteur i.
On peut alors opter pour une syntaxe plus simple qui indique seulement le nombre de répétitions :

for i in range(3) :
print("T'as le bonjour d'Albert !")

Le compteur i passe alors par les valeurs 0, 1 et 2.

--> Exercices 1, 2, 3, 4, 5.

4) La boucle for pour parcourir une chaîne de caractères.


Jusqu'ici la boucle for a été utilisée pour parcourir une liste de nombres entiers consécutifs : de 1 à 5,
par exemple ( for i in range(1,6)).
Ce mécanisme permet de parcourir d'autres d'objets que des listes de nombres entiers. En effet, la
boucle for … in … permet parcourir n'importe quel type de liste.
Une chaîne de caractères telle que ''Cléopatre'' est une liste de 9 caractère que Python sait parcourir.
Testons ainsi le programme suivant :

nom = "Cleopatre"
for lettre in nom :
print (lettre)

--> Résultat ?

--> QCM sur la boucle for ... in ...

--> Exercices 6 et 7.

--> chapitre 7

Contact
CC BY-NC-SA 4.0

Vous aimerez peut-être aussi