Ligne 1 : |
Ligne 1 : |
| {{Python-Turtle-Online-NAV}} | | {{Python-Turtle-Online-NAV}} |
| | | |
− | Les exemples ci-dessous permettent de se faire rapidement une petite idée des possibilités de Turtle.
| + | == Démarrer Turtle == |
| + | Voici une petite série d'exemples Turtle dont la complexité du code augmente progressivement. |
| + | |
| + | Cela permet de se faire une petite idée des possibilités offertes par Turtle, vous pouvez tester ces script directement dans [https://repl.it/languages/python_turtle Turtle sur REPL.it]. |
| + | |
| + | {{download-box|Démarrer Python Turtle en ligne|https://repl.it/languages/python_turtle}} |
| + | |
| + | Avant de débuter le tracé graphique, point de départ de la tortue est celui ci: |
| + | * Au centre de la zone de dessin |
| + | * Tourné vers la droite |
| + | |
| + | [[Fichier:Python-Turtle-Exemple-00b.png]] |
| + | |
| + | == Dessiner une ligne == |
| + | |
| + | <syntaxhighlight lang="python"> |
| + | # Etape 1: rendre les instructions "turtle" |
| + | # disponible pour le script. |
| + | import turtle |
| + | |
| + | # Etape 2: Créer une nouvelle tortue. Elle s'appelle "t" |
| + | t = turtle.Turtle() |
| + | |
| + | # Etape 3: Déplacer la tortue "t" vers |
| + | # l'avant de 50 pixels |
| + | t.forward(50) |
| + | |
| + | # Etape 4: Indiquer que c'est fini (OPTIONNEL) |
| + | turtle.done() |
| + | </syntaxhighlight> |
| + | |
| + | Résultat attendu: |
| + | |
| + | [[Fichier:Python-Turtle-Exemple-00a.png]] |
| + | |
| + | A noter que la flèche en bout de ligne est la dite "tortue" et indique la direction dans laquelle est pointe. |
| + | |
| + | Ce second exemple ci-dessous dessine deux sections de lignes avec une rotation de la tortue de 35 degrés sur la gauche. |
| + | |
| + | <syntaxhighlight lang="python"> |
| + | import turtle |
| + | |
| + | t = turtle.Turtle() |
| + | |
| + | t.forward( 50 ) |
| + | |
| + | # Tourner à gauche de 35 degrés |
| + | t.left(35) |
| + | # Avancer de 25 pixels |
| + | t.forward( 25 ) |
| + | </syntaxhighlight> |
| + | |
| + | [[Fichier:Python-Turtle-Exemple-00c.png]] |
| + | |
| + | == Dessiner un carré == |
| + | |
| + | Dessiner un carré se résume a parcourir 4 fois la même distance en effectuant une rotation de 90° entre chaque tronçon. |
| + | |
| + | <syntaxhighlight lang="python"> |
| + | import turtle |
| + | |
| + | t = turtle.Turtle() |
| + | |
| + | t.clear() # Efface écran |
| + | |
| + | t.forward( 100 ) # Avancer 100 points |
| + | t.right( 90 ) # Tourner droite 90 degrés |
| + | |
| + | t.forward( 100 ) # Avancer 100 points |
| + | t.right( 90 ) # Tourner droite 90 degrés |
| + | |
| + | t.forward( 100 ) # Avancer 100 points |
| + | t.right( 90 ) # Tourner droite 90 degrés |
| + | |
| + | t.forward( 100 ) # Avancer 100 points |
| + | t.right( 90 ) # Tourner droite 90 degrés |
| + | </syntaxhighlight> |
| + | |
| + | Résultat attendu: |
| + | |
| + | [[Fichier:Python-Turtle-Exemple-00.png]] |
| + | |
| + | == Dessiner un carré : syntaxe abrégée == |
| + | |
| + | <syntaxhighlight lang="python"> |
| + | import turtle |
| + | |
| + | t = turtle.Turtle() |
| + | |
| + | t.clear() # Efface écran |
| + | |
| + | t.fd( 100 ) # Avancer 100 points |
| + | t.rt( 90 ) # Tourner droite 90 degrés |
| + | |
| + | t.fd( 100 ) # Avancer 100 points |
| + | t.rt( 90 ) # Tourner droite 90 degrés |
| + | |
| + | t.fd( 100 ) # Avancer 100 points |
| + | t.rt( 90 ) # Tourner droite 90 degrés |
| + | |
| + | t.fd( 100 ) # Avancer 100 points |
| + | t.rt( 90 ) # Tourner droite 90 degrés |
| + | </syntaxhighlight> |
| + | |
| + | Résultat attendu: |
| + | |
| + | [[Fichier:Python-Turtle-Exemple-00.png]] |
| + | |
| + | == Dessiner un carré : avec plusieurs couleurs == |
| + | |
| + | <syntaxhighlight lang="python"> |
| + | import turtle |
| + | |
| + | t = turtle.Turtle() |
| + | |
| + | # Cycler une liste de couleurs |
| + | for c in ['red', 'green', 'yellow', 'blue']: # rougen vert, jaune, bleu |
| + | t.color(c) # Fixer la couleur |
| + | t.forward(75) # Avancer |
| + | t.left(90) # Tourner a gauche de 90 degrés |
| + | </syntaxhighlight> |
| + | |
| + | Résultat attendu: |
| + | |
| + | [[Fichier:Python-Turtle-Exemple-01.png]] |
| + | |
| + | == Dessiner un carré : avec une fonction == |
| + | |
| + | <syntaxhighlight lang="python"> |
| + | import turtle |
| + | |
| + | t = turtle.Turtle() |
| + | |
| + | # Definir une fonction |
| + | def faire_carre(): |
| + | for i in range( 4 ): # boucle de 0 à 3 |
| + | t.forward( 100 ) |
| + | t.right(90) |
| + | |
| + | t.clear() # Effacer écran |
| + | faire_carre() # appel de la fonction |
| + | </syntaxhighlight> |
| + | |
| + | Résultat attendu: |
| + | |
| + | [[Fichier:Python-Turtle-Exemple-02.png]] |
| + | |
| + | == Dessiner une étoile == |
| + | |
| + | <syntaxhighlight lang="python"> |
| + | import turtle |
| + | |
| + | t = turtle.Turtle() |
| + | |
| + | for i in range(5): # répéter 5 fois |
| + | t.forward(50) |
| + | t.right(144) |
| + | </syntaxhighlight> |
| + | |
| + | Résultat attendu: |
| + | |
| + | [[Fichier:Python-Turtle-Exemple-10.png]] |
| + | |
| + | == Dessiner une étoile spiralée == |
| + | |
| + | <syntaxhighlight lang="python"> |
| + | import turtle |
| + | |
| + | t = turtle.Turtle() |
| + | |
| + | for i in range(20): # i de 0 à 19 |
| + | t.forward(i * 10) |
| + | t.right(144) |
| + | </syntaxhighlight> |
| + | |
| + | Résultat attendu: |
| + | |
| + | [[Fichier:Python-Turtle-Exemple-11.png]] |
| + | |
| + | '''Note''': à chaque fois que l'on déplace la tortue vers l'avant d'une quantité différente. Comme {{fname|i}} varie de 0 à 19, la distance parcourue de par {{fname|forward}} à chaque itération sera de {{fname|i * 10}} soit la suite 0, 10, 20, 30, 40, ... 180, 190. |
| + | |
| + | == SpiroGraphe simple == |
| + | |
| + | <syntaxhighlight lang="python"> |
| + | import turtle |
| + | |
| + | t = turtle.Turtle() |
| + | |
| + | def faire_carre(): |
| + | for i in range( 4 ): |
| + | t.forward( 100 ) |
| + | t.right(90) |
| + | |
| + | def faire_fleur(): |
| + | angle = 5 # en degrés |
| + | for i in range( 360 // angle ): |
| + | faire_carre() |
| + | t.left( angle ) |
| + | |
| + | t.clear() |
| + | faire_fleur() |
| + | </syntaxhighlight> |
| + | |
| + | Résultat attendu: |
| + | |
| + | [[Fichier:Python-Turtle-Exemple-03.png]] |
| + | |
| + | == Une rose == |
| + | |
| + | <syntaxhighlight lang="python"> |
| + | from turtle import * |
| + | color('red', 'yellow') |
| + | begin_fill() |
| + | while True: |
| + | forward(200) |
| + | left(170) |
| + | if (abs(pos()[0]) < 1) and (abs(pos()[1]) < 1) : |
| + | break |
| + | print( "break") |
| + | end_fill() |
| + | done() |
| + | </syntaxhighlight> |
| + | |
| + | Résultat attendu: |
| + | |
| + | [[Fichier:Python-Turtle-Exemple-04.png]] |
| | | |
| {{Python-Turtle-Online-TRAILER}} | | {{Python-Turtle-Online-TRAILER}} |