On a vu qu’on pouvait utiliser des tableaux pour stocker des informations similaires de même type, et comment accéder à un élément.
Souvent, quand on a des informations similaires, on va faire le même traitement sur toutes ces informations ; plutôt que de devoir copier/coller le code pour chaque élément du tableau, on va utiliser une boucle !
En copiant / collant … Ce n’est pas très joli !
Et si on veut modifier le message, ou rajouter/enlever un élément, il faut tout changer …
animateurs = ["Guillaume", "Romain", "Simon", "Jade", "Marilyn", "Jean-Marie", "Olivier", "Dante"] print("Magic " + animateurs[0] + " est trop gentil !!") print("Magic " + animateurs[1] + " est trop gentil !!") print("Magic " + animateurs[2] + " est trop gentil !!") print("Magic " + animateurs[3] + " est trop gentil !!") print("Magic " + animateurs[4] + " est trop gentil !!") print("Magic " + animateurs[5] + " est trop gentil !!") print("Magic " + animateurs[6] + " est trop gentil !!") print("Magic " + animateurs[7] + " est trop gentil !!")
Avec une boucle, c’est quand même plus court et lisible !
animateurs = ["Guillaume", "Romain", "Simon", "Jade", "Marilyn", "Jean-Marie", "Olivier", "Dante"] for nom in animateurs: print("Magic " + nom + " est trop gentil!!")
La boucle nous permet d’accéder à chaque élément, un par un, et de faire le traitement que l’on veut. Par exemple, dans l’exemple au dessus, voilà ce qu’il se passe :
En pratique, quand on utilise une boucle for, on crée une variable (ici nom
), qui prend successivement la valeur de chaque élément du tableau, et répète du code.
Mais cette boucle for, on va l’utiliser dans un script plus complet : il va donc falloir délimiter où commence et où s’arrête ce code répété.
Pour cela, on va utiliser l’indentation : cela consiste à laisser un espace au début des lignes d’un bloc de code ! C’est très facile à faire : quand on écrit un for
, sublime le détecte et en insère automatiquement un. Si on veut le faire à la main, on utilise la touche tabulation.
C’est très visuel ! Ainsi, en pratique, cela ressemble à ça :