Une tortue en Python

Dans les années 60, naissait le projet Logo. Celui-ci était avant tout une philosophie de l’éducation mais pour beaucoup, c’était avant tout cet outil d’initiation à la programmation, Turtle.

Par beaucoup d’aspects, Turtle est l’ancêtre de Hour of Code (ou qui a inspiré Hour of Code). Le principe est, par des instructions simples, de déplacer une tortue et lui faire tracer son chemin. Le rendu visuel permet évidemment d’enseigner un langage aux plus néophytes.

Python se veut un langage simple à apprendre et mettre en œuvre, il reste peu évident pour les plus jeunes. Mais l’installation standard propose une version de turtle que je vais vous présenter ici. L’idéal pour débuter avec Python.

C’est quoi, Turtle ?

Avant de commencer, retenez que si l’outil s’appelle Turtle, nous allons en fait manipuler un simple stylo. Votre stylo a la pointe posée sur une feuille. Vous pouvez le pousser (le faire avancer), tourner votre poignet mais aussi relever la pointe et la reposer. Nous allons ainsi donner les instructions pour dessiner des formes.

Lancer Python

Nous pouvons essayer des instructions Python grâce au shell interactif. Commençons par ouvrir un terminal et lancer Python.

Importer la tortue

La tortue ne fait pas parti des outils chargé au lancement de l’interpréteur Python. Il faut donc l’importer avec l’instruction suivante.

import turtle

Si rien ne semble se passer, le module est bien activé et nous allons pouvoir utiliser les instructions qui sont des fonctions. Avant d’aller plus loin, sachez que la documentation du module qui présente toutes les fonctions est disponible en ligne.

Une première instruction

Commençons par déplacer cette tortue. Essayons

turtle.forward(50)

Et voilà, une fenêtre doit apparaitre et votre tortue (qui finalement est une flèche) doit s’avance de 50 pixels. Nous pouvons alors tourner sur la gauche.

turtle.left(90)

Vous voyez que la flèche a tournée de 90°. Le paramètre de la méthode left est bien la rotation en degrés.

Vous allez maintenant pouvoir répéter ces 2 instructions 3 fois ce qui va vous permettre de tracer un carré.

Structurons le code

Évidemment, nous pouvons demander à ce que ces deux instructions soient répétées 4 fois en utilisant la structure des boucles en Python. Avant d’écrire ce code, déplaçons la flèche au milieu (elle y est déjà en fait) et effaçons ce qui est dessiné avec :

turtle.goto(0, 0)
turtle.clear()

Ensuite, écrivons cette boucle qui nous permet de dessiner un carré :

for i in range(4):
    turtle.forward(100)
    turtle.left(90)

Nous pouvons encore améliorer ce comportement en écrivant une fonction qui fera ce dessin automatiquement. La fonction suivante peut même être paramètre pour fixer la taille du coté :

def draw_square(side):
    for i in range(4):
        turtle.forward(side)
        turtle.left(90)

Nous pouvons maintenant exécuter ce code par un appel de cette fonction.

draw_square(75)

Ce qui nous dessine un carré de 75 pixels de coté.

Pour aller plus loin

Vous avez d’autres instructions comme lever le stylo afin de le déplacer sans tracer de trait, changer de couleur, remplir les surfaces… Elles sont toutes expliquées sur la page de documentation.

Mais vous voyez surtout que ce module permet de s’initier à un langage comme Python avec des instructions simples et visuelles, à l’image des énigmes Hour of Code et à l’image de ce que propose l’app Swift Playground. Ce qui rend l’initiation à Python accessible aux plus jeunes.

À propos de... Darko Stankovski

iT guy, photographe et papa 3.0, je vous fais partager mon expérience et découvertes dans ces domaines. Vous pouvez me suivre sur les liens ci-dessous.

Vous aimerez aussi...

Laisser un commentaire

En naviguant sur Dad 3.0, vous acceptez l’utilisation de cookies pour une navigation optimale et nous permettre de réaliser des statistiques de visites. Plus d'informations

Le blog Dad 3.0 utilise les cookies pour vous permettre une navigation optimale et nous permettre de réaliser des statistiques de visite. Dad 3.0 affichant des publicités, celles-si utilisent également des cookies pour un ciblage publicitaire. En continuant la navigation sur Dad 3.0, vous acceptez le dépôt et la lecture de cookies.

Fermer