Discussion verrouillée 
Tutoriel 5 : les boucles for
18-06-2017, 04:51 PM
Message : #1
Rainbow Tutoriel 5 : les boucles for
<< Tutoriel précédent Tutoriel suivant >>

Les instructions itératives ou boucles
sont utilisées pour répéter des instructions

1) Les boucles bornées

Ce sont les boucles que l'on répète n fois (n étant un nombre fixe)
Dans ce paragraphe, on prendra n=10

Dans Scratch, elles correspondent au bloc suivant :
[Image: pytuto4.png]

arrow En algorithmique, ce sont les boucles pour
qui utilisent une variable pour compter le nombre de répétitions
pour variable allant de valeur initiale à valeur finale
-------début
-------instructions
-------fin


arrow En python, ce sont les boucles for
for variable in range(valeur initiale , valeur finale + 1) :
    instructions

arrow valeur initiale et valeur finale doivent être des nombres entiers

Dans notre exemple, pour répéter 10 fois, on peut écrire :
for i in range(1,11) :
range(1,11) veut dire que la variable i prend successivement les valeurs 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (et pas 11)
ou bien
for i in range(0,10) :
range(0,10) veut dire que la variable i prend successivement les valeurs 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 (et pas 10)
ou bien
for i in range(15,25) :
range(15,25) veut dire que la variable i prend successivement les valeurs 15, 16, 17, 18, 19, 20, 21, 22, 23, 24 (et pas 25)

arrow Par défaut, la valeur initiale est 0
Ainsi range(10) signifie range(0,10)
Le plus simple (pour répéter 10 fois) est donc
for i in range(10) :



flecherouge Ce qu'il faut bien comprendre, c'est que la variable est un nombre entier
qui est automatiquement incrémenté à chaque passage dans la boucle

On peut voir cette variable comme un... compteur
qui automatiquement augmente de 1 à chaque passage dans la boucle fi_lone_ranger
(en programmation, cette variable est souvent appelée i ou k)

On pourrait faire la comparaison avec un coureur à pied qui doit boucler 10 tours de piste (en partant de la ligne de départ)
avec un compteur qui vaut 0 au départ et qui s'incrémente à chaque passage sur la ligne...
Lorsque le compteur passe à 10, la course est finie :cool:

Dans le fichier suivant, cliquer sur le bouton "Top Départ..." fi_lone_ranger
(il peut arriver que le fichier bugue à cause d'internet, si le point "saute" la ligne d'arrivée decu)






Ne jamais oublier d'écrire : à la fin de l'instruction for

Quand on valide la ligne après avoir écrit les deux-points,
l'éditeur fait une indentation (un alinéa en français...) :
c'est-à-dire qu'un retrait a été créé à la ligne suivante

Cela permet une meilleure visibilité du programme good
et
Cela évite aussi de rajouter un début et une fin pour signaler le début et la fin des instructions à répéter
puisque toutes les instructions contenues dans le for sont toutes décalées roll

Pour "sortir" du for, il suffit de revenir au début de la ligne avec la touche d'effacement Smile

Exemples :



[Image: pytuto8.png][Image: pytuto9.png]



[Image: pytuto10.png][Image: pytuto11.png]


flecherouge L'intérêt d'utiliser une variable pour répéter
est qu'on peut utiliser cette variable dans la boucle good

[Image: pytuto12.png] [Image: pytuto12 0.png] [Image: pytuto13.png]
[Image: pytuto12 1.png] [Image: pytuto12 2.png]


flecherouge On peut aussi rajouter un pas (ou un incrément)
le pas doit être aussi un nombre entier

pour variable allant de valeur initiale à valeur finale pas valeur du pas
-------début
-------instructions
-------fin

for variable in range(valeur initiale , valeur finale + 1 , valeur du pas) :
    instructions

• range(4,11,2) veut dire que la variable prend successivement les valeurs 4, 6, 8 et 10

Par défaut, le pas est égal à 1
• range(4,11) veut dire range(4,11,1)

L'instruction continue

arrow L'instruction continue permet, dans une boucle, de ne pas exécuter une itération

[Image: pytuto20 1.png][Image: pytuto20 2.png]
Visiter le site internet de cet utilisateur Trouver tous les messages de cet utilisateur
Return to top
28-06-2017, 11:53 PM
Message : #2
Tutoriel 5 : les boucles for
On peut aussi imbriquer les boucles pour quand on manipule 2 variables, par exemple :
• pour parcourir les lignes et les colonnes d'un tableau
• pour agir sur les 2 coordonnées d'un point

Dans l'exemple suivant :
pour chaque valeur de x, on crée une ligne verticale de points roll

(l'instruction plot utilisée ici trace le point de coordonnées ( x ; y ) sous forme d'une croix rouge("xr")
Nous verrons tout cela dans le tutoriel 9...)

[Image: pytuto600.png]
[Image: pytuto601.png]
Visiter le site internet de cet utilisateur Trouver tous les messages de cet utilisateur
Return to top
28-06-2017, 11:53 PM
Message : #3
Test >> Tutoriel 5 : les boucles for
question voici un QCM formé de 5 questions...
Répondre à toutes les questions en navigant avec les flèches > ou <
puis cliquer sur le bouton "Terminer"

On peut alors :
• voir quelles sont les réponses données justes ou fausses (bouton "Voir la solution")
• recommencer le QCM (bouton "Recommencer") pour avoir tout juste... whistle





question notre nouveau membre Tit a fait ce petit programme good

[Image: pytutotit.png]

Que fait ce programme..? hein

[Image: 118.gif]
Visiter le site internet de cet utilisateur Trouver tous les messages de cet utilisateur
Return to top
28-06-2017, 11:53 PM
Message : #4
Tutoriel 5 : les boucles for
<< Tutoriel précédent Tutoriel suivant >>

[Image: 118.gif]
Visiter le site internet de cet utilisateur Trouver tous les messages de cet utilisateur
Return to top
Discussion verrouillée