Différences entre versions de « Python-Turtle-Exemple »
(15 versions intermédiaires par le même utilisateur non affichées) | |||
Ligne 1 : | Ligne 1 : | ||
{{Python-Turtle-Online-NAV}} | {{Python-Turtle-Online-NAV}} | ||
− | == | + | == Démarrer Turtle == |
Voici une petite série d'exemples Turtle dont la complexité du code augmente progressivement. | Voici une petite série d'exemples Turtle dont la complexité du code augmente progressivement. | ||
Ligne 7 : | Ligne 7 : | ||
{{download-box|Démarrer Python Turtle en ligne|https://repl.it/languages/python_turtle}} | {{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 == | == Dessiner une ligne == | ||
Ligne 30 : | Ligne 36 : | ||
[[Fichier:Python-Turtle-Exemple-00a.png]] | [[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"> | <syntaxhighlight lang="python"> | ||
Ligne 56 : | Ligne 83 : | ||
[[Fichier:Python-Turtle-Exemple-00.png]] | [[Fichier:Python-Turtle-Exemple-00.png]] | ||
− | == | + | == Dessiner un carré : syntaxe abrégée == |
<syntaxhighlight lang="python"> | <syntaxhighlight lang="python"> | ||
Ligne 82 : | Ligne 109 : | ||
[[Fichier:Python-Turtle-Exemple-00.png]] | [[Fichier:Python-Turtle-Exemple-00.png]] | ||
− | == | + | == Dessiner un carré : avec plusieurs couleurs == |
<syntaxhighlight lang="python"> | <syntaxhighlight lang="python"> | ||
Ligne 100 : | Ligne 127 : | ||
[[Fichier:Python-Turtle-Exemple-01.png]] | [[Fichier:Python-Turtle-Exemple-01.png]] | ||
− | == | + | == Dessiner un carré : avec une fonction == |
<syntaxhighlight lang="python"> | <syntaxhighlight lang="python"> | ||
Ligne 120 : | Ligne 147 : | ||
[[Fichier:Python-Turtle-Exemple-02.png]] | [[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 == | == SpiroGraphe simple == | ||
Ligne 142 : | Ligne 203 : | ||
faire_fleur() | faire_fleur() | ||
</syntaxhighlight> | </syntaxhighlight> | ||
+ | |||
+ | Résultat attendu: | ||
[[Fichier:Python-Turtle-Exemple-03.png]] | [[Fichier:Python-Turtle-Exemple-03.png]] | ||
Ligne 160 : | Ligne 223 : | ||
done() | done() | ||
</syntaxhighlight> | </syntaxhighlight> | ||
+ | |||
+ | Résultat attendu: | ||
[[Fichier:Python-Turtle-Exemple-04.png]] | [[Fichier:Python-Turtle-Exemple-04.png]] | ||
{{Python-Turtle-Online-TRAILER}} | {{Python-Turtle-Online-TRAILER}} |
Version actuelle datée du 19 mars 2020 à 21:56
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 Turtle sur REPL.it.
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
Dessiner une ligne
# 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()
Résultat attendu:
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.
import turtle
t = turtle.Turtle()
t.forward( 50 )
# Tourner à gauche de 35 degrés
t.left(35)
# Avancer de 25 pixels
t.forward( 25 )
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.
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
Résultat attendu:
Dessiner un carré : syntaxe abrégée
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
Résultat attendu:
Dessiner un carré : avec plusieurs couleurs
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
Résultat attendu:
Dessiner un carré : avec une fonction
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
Résultat attendu:
Dessiner une étoile
import turtle
t = turtle.Turtle()
for i in range(5): # répéter 5 fois
t.forward(50)
t.right(144)
Résultat attendu:
Dessiner une étoile spiralée
import turtle
t = turtle.Turtle()
for i in range(20): # i de 0 à 19
t.forward(i * 10)
t.right(144)
Résultat attendu:
Note: à chaque fois que l'on déplace la tortue vers l'avant d'une quantité différente. Comme i varie de 0 à 19, la distance parcourue de par forward à chaque itération sera de i * 10 soit la suite 0, 10, 20, 30, 40, ... 180, 190.
SpiroGraphe simple
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()
Résultat attendu:
Une rose
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()
Résultat attendu:
Réalisé par Meurisse D. pour MCHobby.be à partir de différentes ressources.
Toute référence, mention ou extrait de cette traduction doit être explicitement accompagné du texte suivant : « Traduction par MCHobby (www.MCHobby.be) - Vente de kit et composants » avec un lien vers la source (donc cette page) et ce quelque soit le média utilisé.
L'utilisation commercial de la traduction (texte) et/ou réalisation, même partielle, pourrait être soumis à redevance. Dans tous les cas de figures, vous devez également obtenir l'accord du(des) détenteur initial des droits. Celui de MC Hobby s'arrêtant au travail de traduction proprement dit.