Boucle for

Le programme ci-dessous affiche tous les nombres de 1 à 10 :


 

Nous voyons que nous avons écrit 10 fois la même instruction print en énumérant les nombres de 1 à 10. Nous avons ainsi réalisé à la main une tâche répétitive qui peut très bien être automatisée en utilisant une structure de boucle :


 

Comment cela fonctionne-t-il ?

Nous avons utilisé la fonction range.
La fonction range(a,b) génère une liste qui commence à a et termine à b-1.
On peut aussi mettre un pas, range(a,b,c) génère une liste qui commence à a, puis a+c, a+2c ..., tant que le résultat est inférieur à b.

Essaye le code suivant (tu peux le modofier):


 

Nous avons utilisé une boucle for, l'instruction comporte deux parties :

Observez bien le fonctionnement de la structure de programmation for en déroulant le diaporama :

 1/10 

for i in range(1,11):

    print i

Variable i : 1

Lorsque le programme rencontre la commande for, la variable i commence à parcourir la liste range(1,11) et reçoit donc le nombre 1.

 2/10 

for i in range(1,11):

    print i

Variable i : 1

Les instructions qui figurent dans le bloc vont être exécutées.

 3/10 

for i in range(1,11):

    print i

Variable i : 1

L'unique instruction présente dans le bloc affiche la valeur de i soit 1.

 4/10 

for i in range(1,11):

    print i

Variable i : 2

La variable i continue de parcourir la liste range(1,11), et prend la valeur 2.

 5/10 

for i in range(1,11):

    print i

Variable i : 2

Les instructions qui figurent dans le bloc seront exécutées de nouveau.

 6/10 

for i in range(1,11):

    print i

Variable i : 2

L'instruction du bloc affiche la valeur de i qui est cette fois 2.

 7/10 

for i in range(1,11):

    print i

Variable i : 3

La variable i continue de parcourir la liste range(1,11), et prend la valeur 3.

 8/10 

for i in range(1,11):

    print i

Variable i : 10

... et ainsi de suite, pour voir comme cela se termine, nous nous plaçons directement à l'étape où la variable i prend la dernière valeur de la liste 10.

 9/10 

for( var i=1 ; i<=20 ; i=i+1 ){

    print i

Variable i : 10

L'instruction du bloc affiche la valeur de i qui est cette fois 10.

 10/10 

for( var i=1 ; i<=20 ; i=i+1 ){

    print i

Variable i

La variable i a parcouru toute la liste range(1,11), et on sort de la boucle for.

Exercices

A vous de jouer !

Ecrivez les instructions dans le cadre gris, et cliquez sur le bouton « Exécuter » en bas du cadre.

Si rien ne s'affiche, vous avez certainement fait une erreur de syntaxe.


 

1. Ecrire un programme qui affiche tous les nombres pairs, de 0 à 20.

Solution

Le code


 

Masquer

2. a. Ecrire un programme qui affiche la table de multiplications par 5, de 5 x 1 à 5 x 10.

Solution

Le code


 

Masquer

b. Améliorer le programme précédent en donnant la possibilité à l'utilisateur de choisir la table qu'il veut afficher.

Solution

Le code


 

Masquer