turtle
Vous allez utiliser le langage de programmation Python pour programmer un dessin grâce à une tortue.
Un programme informatique peut ressembler à ce que vous pouvez voir sur : tp-01.01
Il est composé d’une liste (ou séquence) d’instructions qui sera exécuté par l’ordinateur dans l’ordre :
import turtle
indique qu’on souhaite utiliser le module turtle
dans notre programmeturtle.shape('turtle')
définit la forme de notre tortue. turtle.
fait ici référence au module qu’on a importé précédemmentturtle.forward(64)
Lorsque vous cliquez sur le bouton “Run”, toutes les instructions sont exécutées l’une après l’autre et le résultat s’affiche dans l’onglet “Result”.
shape
est une méthode du module turtle
qui prend en argument un nom entre parenthèse.
A la ligne 3, remplacez "turtle"
par "arrow"
, "circle"
, "square"
, "triangle"
ou "classic"
pour voir les différentes formes que peut prendre la tortue.
Notez qu’une méthode peut avoir 0, 1 ou plusieurs arguments:
method(argument1, argument2, ...)
Un commentaire permet d’ajouter du texte qui ne sera pas exécuté par l’ordinateur. Le caractère #
marque le début d’un commentaire qui se termine à la fin de la ligne.
Commentez la ligne 4 en ajoutant #
au tout début de la ligne, puis exécutez le programme pour voir ce qui a changé.
Le module turtle possède plusieurs méthodes pour se déplacer dont :
forward(d)
pour avancer d’une distance de d
pixelsbackward(d)
pour reculer d’une distance de d
pixelsleft(a)
pour tourner d’un angle a
par la gaucheright(a)
pour tourner d’un angle a
par la droitespeed(s)
pour définir la vitesse de la tortue. s
étant un entier entre 0 et 10 incluspenup()
pour lever le stylo et ainsi arrêter de dessinerpendown()
pour abaisser le stylo et ainsi de continuer à dessinerNotez que backward(d)
est équivalent à forward(-d)
et left(a)
à right(-a)
: C’est la même chose de reculer de 2 pas que d’avancer de -2 pas.
Vous pouvez essayer ces différentes instructions en modifiant le programme précédent et voir votre résultat en exécutant à nouveau. Par exemple en rajoutant les lignes suivantes à la fin du programme:
turtle.left(90)
turtle.forward(64)
Exercice : Dessinez un carré de 64 pixels de côté.
Une variable en informatique peut être vu comme une boîte étiquettée avec un nom
et qui contient une valeur
.
Voici comment créer une variable nommée length
qui contient une valeur de 64
, puis d’utiliser cette variable pour faire avancer la tortue du nombre de pixels défini dans cette variable :
length = 64
turtle.forward(length)
Exercice : Modifiez tp-01.02 pour que la valeur 64 n’apparaisse qu’une seule fois. Vous pouvez maintenant plus simplement modifier la longueur de votre carré.
Exercice : Créez une variable nommée
angle
et dessinez un triangle en modifiant uniquement cette nouvelle variable.
En programmation, il faut éviter les copier-coller car c’est une source d’erreur d’inattention et c’est difficile à modifier par la suite !
On va voir la notion de boucle qui permet de répéter un certain nombre de fois une liste d’instructions et ainsi éviter de copier du code :
# une boucle 'for' qui va être exécutée 4 fois
for i in range(4):
# les instructions qui sont indentées dans la boucle 'for' seront exécutées 4 fois
Pour indenter du code, utilisez la touche “tab” du clavier.
counter = 0
counter = counter + 1
counter = counter + 1
counter = counter + 1
counter = counter + 1
# counter = 4
Est équivalent à
counter = 0
for i in range(4):
counter = counter + 1
# counter = 4
Exercice : Ajoutez une boucle dans le dessin de votre carré pour qu’il n’y ait plus plusieurs fois la même instruction.
import turtle
length = 64
angle = 90
for i in range(4):
turtle.forward(length)
turtle.left(angle)
Une fonction est similaire à une méthode, sauf qu’elle n’est pas liée à un module. Elle regroupe une liste d’instruction et la nomme, ce qui permet une plus grande lisibilité du code et aussi une réutilisation facilitée.
counter = 0
def increment(): # définition de la fonction 'increment'
counter = counter + 1
increment() # appel de la fonction 'increment'
# counter = 1
increment()
# counter = 2
Exercice : Complétez le code sur tp-01.03
import turtle
def square():
length = 64
angle = 90
for i in range(4):
turtle.forward(length)
turtle.left(angle)
square()
turtle.penup()
turtle.backward(150)
turtle.pendown()
square()
Une fonction peut avoir 0, 1 ou plusieurs paramètres. Un paramètre est une variable qui recevra une valeur lors de l’appel de la fonction.
Comme pour une méthode, l’appel d’une fonction peut aussi avoir des arguments. Le résultat de l’appel de la fonction va donc dépendre des arguments qu’on lui donne.
counter = 0
def increment(difference): # définition de la fonction 'increment' avec un paramètre 'difference'
counter = counter + difference
increment(2) # appel de la fonction 'increment' avec '2' passé en argument
# counter = 2
increment(4)
# counter = 6
Exercice : Complétez le code sur tp-01.04
import turtle
def square(length):
angle = 90
for i in range(4):
turtle.forward(length)
turtle.left(angle)
square(100)
turtle.penup()
turtle.backward(150)
turtle.pendown()
square(50)
Définissez une fonction polygon
qui a comme paramètre :
side
: le nombre de côté du polygonelength
: la longueur de chaque côtéEt qui dessine le polygone en question sur tp-01.05
Vous trouverez toutes les méthodes disponibles dans la documentation.