# 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

# script Boucle4.py
chaine = 'Bonsoir'
for lettre in chaine: # lettre est la variable d'itération
print(lettre)
print("Fin de la boucle")

Exécuter

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') :

#### Exemple avec les éléments d'une liste

# script Boucle5.py
maliste = ['Pierre', 67.5, 18]
for element in maliste:
print(element)
print("Fin de la boucle")

Exécuter et tester

Là, on affiche dans l'ordre les éléments de la liste :

#### Fonction range()

L'association avec la fonction range() est très utile pour créer des séquences automatiques de nombres entiers :

# script Boucle6.py
print(list(range(1,5)))
for i in range(1,5):
print(i)
print("Fin de la boucle")

>>>
[1, 2, 3, 4]
1
2
3
4
Fin de la boucle

#### Table de multiplication

La création d'une table de multiplication paraît plus simple avec une boucle for qu'avec une boucle while :

# script Boucle7.py
for compteur in range(1,11):
print(compteur, '* 9 =', compteur*9)
print("Et voilà !")

Exécuter

### L'instruction break

L'instruction break provoque une sortie immédiate d'une boucle while ou d'une boucle for.

Dans l'exemple suivant, l'expression True est toujours ... vraie : on a une boucle sans fin.
L'instruction break est donc le seul moyen de sortir de la boucle.

#### Affichage de l'heure courante

# script Boucle8.py
import time # importation du module time
while True:
# strftime() est une fonction du module time
print('Heure courante ', time.strftime('%H:%M:%S'))
quitter = input('Voulez-vous quitter le programme (o/n) ? ')
if quitter == 'o':
break
print("A bientôt")

Exécuter et tester

### 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).

Créé avec HelpNDoc Personal Edition: Générateur de documentation complet