Turtle est un module graphique sous python permettant d'effectuer des représentations graphiques.
Le programme doit commancer par :
from turtle import *
et pour quitter facilement la fenêtre de dessin en cliquant dedans il doit se terminer par :
exitonclick()
La première commande utile permet de dimension la fenêtre de dessin :
screensize(tailleX, tailleY) # avec tailleX et tailleY en pixels
Utiliser la tortue pour tracer un trait : il suffit de la faire avancer (ou reculer) en ligne droite !
forward(longueur) # avec longueur en pixels
backward(longueur)
Pour changer la direction du trait il faut auparavant changer la direction de la tortue à droite ou à gauche :
left(angle) # avec angle en degrés
right(angle)
Pour mettre un peu de couleur il suffit de changer la couleur du stylo :
pencolor("couleur") # avec couleur comme red, blue, green,...
Un exemple de programme permettant de dessiner une marche en rouge :
from turtle import *
screensize(400, 400)
pencolor("red")
forward(100)
left(90)
forward(100)
right(90)
forward(100)
exitonclick()
Rien de plus simple ! On avance d'une longueur correspondant à la longueur du carré et on tourne de 90° vers la gauche par exemple. Il n'y a plus qu'à répéter cette opération 4 fois au total. Bon réécrire 4 fois deux lignes de code ça passerait encore, mais s'il fallait dessiner une figure à 16 côtés, ce serait plus long ! On va donc plutôt utiliser une boucle dans laquelle on va compter le nombre de fois qu'on répète notre opération. La syntaxe d'une telle boucle en python est :
for compteur in range(valeur_début, valeur_fin):
répéter instructions
Pour le carré le compteur devra prendre les valeurs 1, 2, 3 et 4. On a donc envie d'écrire :
for i in range(1, 4):
forward(100)
left(90)
Ce qui donne le résultat à côté : le carré n'est pas fermé : les instructions n'ont été répétées que 3 fois car la dernière valeur (4) n'est pas exécuter. Il faut prendre comme valeur_fin une valeur toujours plus grande que celle pour laquelle on veut s'arrêter : 5 dans notre cas.
Tortues en travaux ... La suite à venir !