6. Utilisation de la tortue

La tortue

La tortue est un module de Python qui permet de tracer des figures, comme avec Scratch.

Pour utiliser la tortue, il faut ajouter les lignes suivantes au début du fichier Python :

Lignes à mettre au début du fichier
from turtle import *  # pour utiliser la tortue
setup(640, 480)  # pour définir la taille de l'image

⚠ Ces lignes seront mises dans les premiers exemples pour permettre un copier/coller dans un autre IDE, mais elles seront chargées automatiquement pour la suite des exemples et exercices.

La tortue est représentée par l'image d'une tortue ou un petit triangle. Pour la contrôler, vous pouvez utiliser les commandes suivants :

Commande Python Remarques
forward(N) ou fd(N) Avancer de N pixels
backward(N) ou back(N) ou bk(N) Reculer de N pixels
right(N) ou rt(N) Tourner à droite de N degrés
left(N) ou lt(N) Tourner à gauche de N degrés
up() Lever le crayon
down() Baisser le crayon
reset() Tout réinitialiser
Utilisation de la tortue sur le site

Pour les programmes liés à la tortue sur le site, voici quelques remarques :

  • Vous pouvez écrire le code dans la partie éditeur.

  • Pour exécuter le script et obtenir la figure, il faut appuyer sur le bouton Exécuter.

  • À chaque modification du fichier, il faut appuyer à nouveau sur Exécuter.

  • Après avoir exécuté votre programme, vous pouvez utiliser les commandes de la tortue dans le terminal pour continuer la figure.

  • La ligne setup(640, 480) n'a pas d'effet sur le site. Elle est juste là au cas où vous préférer copier le code dans un autre éditeur, comme Thonny qui est installé sur le site.

Si rien ne s'affiche

Si la figure ne s'affiche pas, il faut regarder dans le terminal et voir s'il n'y a pas un message d'erreur.

En cas d'erreur, le programme s'arrête avant d'afficher la figure.

Un premier exemple

Les instructions suivantes permettent d'obtenir la figure ci-contre :

Python
forward(50)  # avancer de 50 pixels
left(60)     # tourner à gauche de 60 degrés
forward(50)  # avancer de 50 pixels
right(80)    # tourner à droite de 80 degrés
forward(100) # avancer de 100 pixels

Le triangle rouge correspond à la position de départ et celle en bleu à l'arrivée.

Vous pouvez tester ces instructions ci-dessous. Si vous appuyez une deuxième fois sur le bouton "Exécuter", vous pouvez voir la tortue dessiner la figure.

###(Dés-)Active le code après la ligne # Tests (insensible à la casse)
(Ctrl+I)
Tronquer ou non le feedback dans les terminaux (sortie standard & stacktrace / relancer le code pour appliquer)
Si activé, le texte copié dans le terminal est joint sur une seule ligne avant d'être copié dans le presse-papier

Votre tracé sera ici

Exercice 6 (répondre sur la feuille)

Trouver l'ensemble d'instructions à utiliser pour obtenir la figure ci-contre.

Chaque trait mesure 80 pixels de long et les angles font tous 90°.

Une fois la figure obtenue, il faut recopier les instructions que vous avez utilisées sur votre feuille.

Indications
Indication 1

Vous pouvez commencer par recopier les instructions permettant de faire la figure de l'exemple et les modifier ensuite.

Indication 2

Il faut avancer 4 fois et tourner 3 fois.

Indication 3

Le code doit ressembler à :

Python
forward(...)
...  # On tourne
forward(...)
...  # On tourne
forward(...)
...  # On tourne
forward(...)

###(Dés-)Active le code après la ligne # Tests (insensible à la casse)
(Ctrl+I)
Tronquer ou non le feedback dans les terminaux (sortie standard & stacktrace / relancer le code pour appliquer)
Si activé, le texte copié dans le terminal est joint sur une seule ligne avant d'être copié dans le presse-papier

.128013é)wP=c0hêS2s,r/n6ko_ev19pf(du8t-*bai54y3g l7m050C0v0F0J0K0R0m0Q0g0R0J0m0m0f010F0K0z010406050m0D0T0T0J0o0N040k0t0R0D0.0t0q050p0^0`0|0~0?0z04051e171h0p1e0?0C0K0w0$0(0*0,0(0q0P0D0J0P0v0G0z0N0F0i150Q0i0K0P0i0R1J0i0F0;050X0I0R0v1q0)0+011I1K1M1K0F1S1U1Q0F0o1f1E0$110m0z0J0q0,0l011W1s010A0Z0v0q0J0T0v1Q1=1@1|1Y1 1U22240;0a0Q0e0o0t0z0t0m0K140q0Q0V1:0o0o0v0g2p17270q1f0p1E2C1,1.1-1R0C291t0K0q212m1Q1n1p0%1X2M2O0q0t2S1Q0z2v1f2A2C2)0@1?2q2U1}2Y0o0{0R1Q0J1H2v0A0,030u0u0g2Z0v1M2X0t0G0O0G0x0;0Q0x170J2*2-0=2,282/1Y2;2?2^2`0v2|012~3032342P370G1`040Q0l3e3g1@3i2A2L013n0J2@1f2_0i2{2}2 310V3x2Y3z0O3b0O3F2z3h0?3J3l0,3M3O053Q3S3t3U3w2N3y380M3b0M3%183)3j2.1r3m0t2=3N3p3R3r3T3v3W3_3Y380L3b0L3 2)3*2-3K3.493=3u3V334f36380r3b0r4l413+443-463o3P3q3s4t3^353z0S3b0S4C3H4n3k4F3L4H484J4a4L3@4e4O380E3b0E4T2B4V432V4Y473/3;4b3?4d4v4*0G0y3b0y4/3I4o3,4@4I3:4K4c4u3X4x390h0;0x0h541i2%172S2F0C1.2K574u2R1o1f2$0v2(3h3(3H054u5B280K0C0,2 2A3z3a4J5J5L4}5e5O1{2d0v5S5d4w5V2C3f423K0s0q0;0A2j0T5D2B0Q5)570q5,040F0D0o0F1U5;3C5@4X5+0;0K0T2l5~615?4E4?0t0;0H6b6c564X0g5P030Q2l5}0Q130Z0K0m0v0o0Q0(0Q0F465|0v610?405E3J5R015M2-3z3B5a6L4(4~3`3A5W235Y6M5T5#386Q0p5(6d2:0;6w5|0z61634?0:040B6;6+1Y0T0K0;0r0M5k6I2B6=1}6@0n6b756|6~040M0E722+6{0,6@0c6i7a0,6m0;6o6q6y0C0b1 0q0K6y6A0X0Z1U2r1V6A0A210j1,6F733i7M5)6S0u5N383!5Q5K6!5!4 3!0Q5X5Z4N6V7U3F6H7h4o7Q7S0G3|7V7%4)6V3|7#6Y7@6U4g7;1Q6)5H4=6,040A460d0|0C6`6k6?0;6_7O7i016}0;7f8c4W8e047l7M7,5C6K7W6N1@3z4i7?7X7(7 4i7{247}5U4h816*8d850o1N0F8n841Y6@8g7-8o1}8k040y7g8u8N8U0;8r4m8S0Q7/6O4y3p7Q7Y6V4z8G6Z6T8J0G4z5%834p5-888a8.578V974X8!8m8h8)7j8+6G8.8:8y384Q8B8}6$0G4Q8{8I9q9n3%8i5`1U0A8R9e8Y8*6^9a4?8!8$9H769h8s9j8w7R8;0G4,9o6#4 4,9t8C7^7 9U9x9f3L940o890o8b9D8T9g9G9:3K9c8%6J9)7k9i9@9k0q3z519V8^7 519Z9p4 a39(9E3-0;9A9C8X9;01999@579J9`748i9}9O9 9Q7:5j8?9Qa55faxa89W6Vax917n9*86959.9L9F8W8(ad8j7c9dai3Kas8-7O0p5G5m5A5o5x170F5ra*2I2D0J1Ta%0p5p6H0V7B0!04.

Votre tracé sera ici