Présentation de la tortue
Le contenu de cette partie doit être copié sur la fiche «Programmer avec python» après le titre *II) La tortue*.
A. Le module turtle
Pour avoir accès aux fonctions de la tortue dans un programme python, il **doit** commencer par la ligne
from turtle import *
B. Diriger la tortue
Les tracés sont effectués dans une fenêtre carrée. La tortue démarre au centre, au point de coordonnées (0,0).
Les fonctions de la tortue qui nous seront utiles dans un premier temps sont les suivantes.
- Pour poser le crayon, et commencer le tracer
pendown()
- Pour lever le crayon, et interrompre le tracé
penup()
- Pour avancer de d unités
forward(d)
- Pour reculer de d unités
forward(-d)
- Pour tourner à gauche de a degrés
left(a)
- Pour tourner à droite de a degrés
right(a)
- Pour aller directement au point de coordonnées (x,y)
goto(x,y)
Première figure
Suite d'instructions
Créer dans son dossier personnel un fichier tpimage1.py
dans lequel devra figurer la ligne d'import des fonctions du module turtle (voir ci-dessus), puis les commandes traduisant le tracé suivant.
- baisser le crayon
- tourner à gauche de 60°
- avancer de 140
- tourner à droite de 120°
- avancer de 140
- lever le crayon
- reculer de 70
- tourner à droite de 120°
- reculer de 10
- baiser le crayon
- avancer de 90
- lever le crayon
- reculer de 10
- tourner à gauche de 60°
- avancer de 70
- tourner à gauche de 120°
- lever le crayon
Indication
On doit obtenir cette figure :
Correction
from turtle import *
pendown()
left(60)
forward(140)
right(120)
forward(140)
penup()
forward(-70)
right(120)
forward(-10)
pendown()
forward(90)
penup()
forward(-10)
left(60)
forward(70)
left(120)
penup()
Procédure de tracé
Le code ci-dessous, à compléter avec celui écrit à la question précédente, permet de définir une fonction python effectuant le tracé. Elle a l'avantage de pouvoir être invoquée plusieurs fois, pour pouvoir reproduire la figure à différents endroits.
from turtle import *
def traceA():
pendown()
...
Pour utiliser cette fonction, il faut:
- exécuter le programme, ceci permet de définir la fonction dans l'environnement de la console python
- Dans la console, saisir
traceA()
Cette commande trace la figure à partire de la position et de l'orientation actuelle de la tortue.
Si, avant d'appeler la fonction, on fait avancer ou tourner la tortue, la figure sera ainsi déplacée et pivotée de la même façon.
En invoquant trois fois la fonction traceA()
dans la console, après avoir à chaque fois déplacé et orienté la tortue convenablement, effecuer le tracé ci-dessous.
Correction
traceA()
left(180)
traceA()
left(60)
forward(-280)
right(60)
traceA()
Tracé avec paramètre
On ajoute a présent un paramètre à la fonction traceA
:
from turtle import *
def traceA(p):
pendown()
...
Les instructions doivent être modifiées pour que les longueurs soient multipliées par p (avec *p
), mais pas les angles.
Indication
Les distances apparaîssent chaque fois dans les appels de la fonction forward
. Ainsi forward(140)
devient forward(140*p)
.
On définit la nouvelle fonction dans la console en exécutant le programme.
Pour invoquer la fonction, il faut desormais préciser la valeur du paramètre : traceA()
ne fonctionne plus, il faut saisir à la place dans la console traceA(1)
pour tracer la figure en multipliant toutes les longueurs par 1, c'est à dire sans changer son échelle.
Utiliser la nouvelle fonction traceA
pour obtenir la figure ci-dessous.
Correction
traceA(2)
forward(70)
traceA(1)
forward(35)
traceA(0.5)