Licence CC BY-NC-SA

À la découverte de turtle

Un module Python qui en a sous la caparace

Adapté de la fameuse Tortue de Logo, un langage informatique en partie destiné à apprendre en créant, le module turtle de Python offre un vaste espace de jeu avec l’utilisation simple et élargie d’une interface graphique !

À travers ce tutoriel, nous allons découvrir les fonctionnalités de turtle tout en pratiquant. Ce tutoriel est ouvert à tous, et peut être un excellent entraînement pour les programmeurs peu expérimentés en particulier. Des bases en Python, que vous pouvez acquérir avec ce tutoriel par exemple, sont nécessaires pour être à l’aise.

Ce module peut être utilisé de façon procédurale (en manipulant des fonctions) ou orientée objet (en manipulant des objets et des méthodes). Nous l’explorerons avec la première approche, mais nous nous intéresserons aussi aux possibilités qu’offrent la seconde par rapport à la première dans une dernière partie.

Avant de commencer, il convient que vous ayez une version de Python installée ainsi que le module tkinter. En effet, turtle repose en partie sur ce dernier. Cela doit être bon puisque Tcl/Tk est installé par défaut avec.

Durant la lecture de ce tutoriel, je vous invite à être actif, c’est-à-dire à tester les fonctions décrites , à bidouiller, donc à ne pas vous contentez de lire. Le meilleur moyen de comprendre et d’apprendre est d’essayer par soi-même ! De même, n’hésitez pas à vous reporter à la documentation officielle correspondant à votre version de Python pour aller chercher vous-mêmes des informations sur les fonctions. Un programmeur doit être capable d’aller chercher les renseignements dont il a besoin.

Au cours des exercices proposés, il est possible de bloquer. Dès lors, pour progresser, il faut faire l’effort de se creuser la tête plutôt que de copier-coller la correction, et il ne faut surtout pas hésiter à s’aider du cours ou à demander de l’aide sur les forums.

Enfin, pour les corrections, il est tout à fait possible que votre code ne soit pas semblable au mien. Pas d’inquiétude : le principal est qu’il soit fonctionnel.

21/03/2024 : Après quelques années d’existence, ce tutoriel a été mis à jour pour prendre en compte les évolutions de Python notamment (fin de Python 2, liens vers la documentation, fonctionnalités telles que les F-strings…). Si pour une raison inconnue, vous utilisez toujours Python 2, sachez qu’il y a très peu de différences entre Python 2 et Python 3 concernant le module turtle.

Cela étant dit, passons aux choses sérieuses ! :D

Configurer la fenêtre

  1. Les réglages
  2. TP : Une fenêtre personnalisée

Tracer et dessiner

  1. Se repérer et tracer
  2. Dessiner des figures simples
  3. Dessiner des choses plus complexes
  4. TP : De bien jolis dessins

Colorier

  1. Couleur de tracé et de remplissage
  2. Notre fonction point
  3. Notre remplissage personnalisé
  4. TP : Atelier coloriage

Interagir avec l'utilisateur

  1. Les saisies de l'utilisateur
  2. Les événements
  3. L'écriture à l'écran
  4. L'utilisation de timers
  5. TP : Le jeu des allumettes

Aller plus loin dans les configurations

  1. Paramétrer le repère
  2. Paramétrer le crayon
  3. Paramétrer encore et toujours
  4. TP : Configuration avancée

S'amuser avec plusieurs tortues

  1. La classe Screen
  2. La classe Turtle
  3. TP : Clique la tortue !


Cette présentation pratique et assez complète de turtle est finie. Comme vous avez pu le voir, c’est un module plutôt facile à prendre en main et plein de possibilités.

Maintenant, vous savez réaliser des dessins, jeux, etc… avec turtle ! Je vous invite à partager vos créations sur ce sujet. N’hésitez pas non plus à y proposer vos propres exercices !

Si vous souhaitez renforcer vos connaissances ou en apprendre plus, car bien que nous ayons vu beaucoup de choses, nous n’avons par exemple pas étudié les classes Shape et Vec2D ou encore les fonctions delay et tracer, vous pouvez vous référer aux liens suivants (liste non exhaustive) :

De plus, il existe le module turtledemo qui regroupe de nombreux exemples d’utilisation (les sources de ceux-ci sont dans RepertoireDeVotrePython/Lib/turtledemo/).

Enfin, vous pouvez aller encore plus loin avec les interfaces graphiques en Python en utilisant des bibliothèques spécifiques. Par exemple, il existe Pygame pour faire des jeux et le module tkinter qui est plus orienté vers le logiciel.

À bientôt ! :)

Merci à yoch et à Arius pour leurs retours. Merci à Grimur pour sa suggestion d’exercice sur le flocon de Von Koch. Merci à nohar pour la validation.

8 commentaires

Je me joins à mon VDD pour te féliciter et te remercier pour cette contribution. On a effectivement besoin de ce genre de contenus, tout comme de maintenir le plaisir de l'auteur à le rédiger. :)

+1 -0

Bonjour ! J’ai besoin pour un projet en isn de mettre plusieurs tortues, mais je ne comprends pas comment vous avez fait pour en mettre justement plusieurs dans le dernier programme. Pourriez vous m’éclairer svp ? Merci d’avance

Bonjour, je suis en train d’épousseter ce tutoriel, car même si turtle n’a quasiment pas changé, l’écosystème Python a évolué depuis (fin de Python 2, Python 3.4 est loin, nouvelles fonctionnalités comme les f-strings, tutoriel d’entwanne qui remplace l’ancien tutoriel pour débutants, …). Merci :)

+1 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte