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 !
Configurer la fenêtre
Tracer et dessiner
- Se repérer et tracer
- Dessiner des figures simples
- Dessiner des choses plus complexes
- TP : De bien jolis dessins
Colorier
- Couleur de tracé et de remplissage
- Notre fonction point
- Notre remplissage personnalisé
- TP : Atelier coloriage
Interagir avec l'utilisateur
- Les saisies de l'utilisateur
- Les événements
- L'écriture à l'écran
- L'utilisation de timers
- TP : Le jeu des allumettes
Aller plus loin dans les configurations
S'amuser avec plusieurs tortues
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) :
- la documentation
- le code source
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.