1. Dessiner - forward()
¶
Dans ce chapitre, nous explorons ce que c’est un programme et nous prenons la métaphore du dessin. Ici, un programme est une séquence d’instructions pour dessiner une image.
Allons de l’avant (forward) avec la programmation. Nous allons voir que :
l’expression
from turtle import *
met à disposition les fonctions de dessin,les instructions
forward()
,backward()
permettent de tracer une ligne,les instructions
left()
,right()
permettent de changer de direction.
Le module turtle
¶
Dans le langage de programmation Python, le module turtle
(« tortue » en anglais) présente une façon sympathique pour faire des dessins. C’est pour cela que nous commençons notre aventure de programmation avec cet animal qui avance tout doucement à son propre rythme.
On s’imagine une tortue qui se déplace sur un canevas et laisse une trace.
Ci-dessus, vous trouvez notre premier programme de trois lignes :
dans la première ligne, nous importons toutes (
*
) les fonctions du moduleturtle
,avec
shape('turtle')
, nous affichons une tortue (au lieu de la flèche),avec
forward(150)
, nous faisons avancer la tortue de 150 pixels.
Exercice
Ajoutez d’autres instructions telles que backward()
, left()
, et right()
pour faire un dessin.
Se déplacer¶
La tortue peut se déplacer et dessiner une trace avec les 4 fonctions:
forward(d)
pour avancer d’une distanced
(en pixels)backward(d)
pour reculerleft(a)
pour tourner à gauche d’un anglea
(en degrés)right(a)
pour tourner à droite
Le canevas¶
Au début, la tortue se trouve au centre d’une zone rectangulaire appelée canevas. Ce rectangle a les propriétés suivantes :
l’origine (0, 0) se trouve au centre,
l’axe X, horizontal, s’étend de -300 (tout à gauche) à +300 (tout à droite),
l’axe Y, vertical, s’étend de -200 (tout en bas) à +200 (tout en haut).
Exercice
Ajoutez une instruction dans le code ci-dessous pour mener la tortue tout en bas du canevas.
Une séquence¶
Un programme est une séquence d’instructions. Le bloc de 8 instructions ci-dessous indique comment dessiner un carré. La tortue doit avancer, tourner, avancer, tourner, etc.
Exercice
Modifiez ce code pour en faire un rectangle.
Equivalence¶
La tortue possède 4 fonctions de déplacement, mais à strictement parler, on pourrait s’en sortir avec seulement deux fonctions, forward()
et left()
, car :
backward(d)
est équivalent àforward(-d)
right(a)
est équivalent àleft(-a)
Dans le programme ci-dessous, les 4 lignes du deuxième bloc sont équivalentes aux 4 instructions du premier bloc et donnent un résultat identique.
Épaisseur de ligne¶
La fonction width(d)
(épaisseur en anglais) permet de définir l’épaisseur de la ligne.
Voici un triangle où chaque côté a une épaisseur différente.
Exercice
Explorez différentes épaisseurs de ligne.
Maison avec toit¶
Nous dessinons une maison et marquons le toit par une ligne plus épaisse.
Exercice
Modifiez l’épaisseur du toit.
Raquette de ping-pong¶
L’épaisseur de ligne est très utile dans le dessin.
Exercice
Transformez la raquette de ping-pong en haltères de musculation.
Lunettes de soleil¶
Voici encore un exemple où, avec un simple changement d’épaisseur, vous obtenez un effet très intéressant.
Exercice
Ajoutez la première branche qui manque.
Editeur de Python¶
Jusqu’à maintenant, nous avons exécuté nos petits programmes ici dans cette page web. Malheureusement, ces programmes disparaissent quand nous rechargeons la page. Pour pouvoir les sauvegarder et programmer indépendamment de ce site web, nous avons besoin d’un éditeur de Python externe.
Nous vous proposons d’utiliser Thonny, qui est un logiciel libre, facile à installer, et un excellent éditeur pour débuter avec Python. Essayez de faire ceci :
Ouvrez l’éditeur Thonny
Écrivez le code pour dessiner une maison
Sauvegardez le programme sous
maison.py
Exécutez le programme
Quand vous utilisez le module turtle
avec Thonny, ajoutez toujours la fonction done()
comme dernière ligne de code, pour que vous puissiez quitter le programme.
Exercices¶
Téléchargez un exercice.
Ouvrez-le dans un éditeur externe (tel que Thonny).
Mettez votre prénom, nom et classe.
Remplacez
...
par votre code.Déposez votre exercice sur Moodle (ou plateforme équivalente).
Rectangle¶
Dessinez un rectangle.
Triangle¶
Dessinez un triangle.
Hexagone¶
Dessinez un hexagone.
Maison¶
Dessinez une maison.
Chaise¶
Dessinez une chaise.
Table¶
Dessinez une table.
Lit¶
Dessinez un lit.