En informatique, la paresse est souvent une vertu. On veut à tout prix éviter de faire du travail inutile et la recherche de l'efficacité maximale y est élevée au rang de vertu cardinale. Or, dans l'exercice 1 de la section précédente, vous êtes probablement arrivé à la solution suivante :
from oxosnake import *
makeSnake(dim=20)
forward(3)
right(90)
forward(3)
right(90)
forward(3)
right(90)
forward(3)
right(90)
Le problème avec ce code est qu'il est très répétitif. On constate en effet que dessiner un carré revient à répéter 4 fois de suite la séquence d'instructions
forward(3)
right(90)
On souhaite résoudre le même exercice en évitant de répéter 4 fois exactement le même code. Pour cela, on demande à Python de faire ce travail pénible avec la boucle repeat
:
from oxosnake import *
makeSnake()
repeat 4:
forward(3)
right(90)
On voit que le programme est bien plus court mais il y a également un autre grand avantage. Quels sont les avantages selon vous si l'on décide de modifier la taille du carré (mesure des côtés) ?
La structure de contrôle repeat
permet de répéter un bloc de code (lignes décalées) un certain nombre de fois.
Fonctionnement de la boucle repeat
.
La boucle repeat n:
permet de répéter n
fois le bloc d'instructions (on parle du corps de la boucle). Les instructions du bloc d'instructions à répéter doivent être décalées (on dit indentées dans le langage technique) de manière cohérente. La convention est d'utiliser 4 espaces pour marquer les indentations.
Information technique (indentation en Python)
Information technique (boucle repeat
)