Connexion élèves

Choisir le(s) module(s) à installer :

Dessins avec la tortue

Le module Turtle de Python permet de dessiner en faisant se déplacer dans une fenêtre une "tortue" munie d'un "stylo"; on peut abaisser ou remonter le stylo, changer de couleur, faire avancer ou reculer la tortue, la faire tourner à gauche ou à droite,etc...

Vous pouvez découvrir ici les fonctions principales fournies par le module Turtle.

Le module s'importe en début de script avec l'instruction :


from turtle import *
		

Par défaut, la tortue ne fait que tracer des lignes; vous allez enrichir ses possibilités en écrivant quelques fonctions, de façon à pouvoir dessiner des figures plus sophistiquées.

Exemples turtle

Vous noterez que ces fonctions ont bien des paramètres, mais ne renvoient aucun résultat; dans certains langages, on appelle de telles fonctions des procédures, mais Python ne fait pas la distinction et nous continuerons donc à parler de fonction.

Fonction carré

Voila un exemple de fonction qui permet de tracer un carré :

from turtle import * def carre(): down() for i in range(4): forward(50) right(90) up() # à placer EN FIN de programme principal done()
  1. utiliser cette fonction pour analyser son fonctionnement.
  2. modifier cette fonction de façon à pouvoir tracer un carré de longueur de côté quelconque passée en argument à la fonction
  3. modifier enfin cette fonction de façon à pouvoir tracer un carré de longueur de côté quelconque, et pivoté d'un angle quelconque par rapport à l'horizontale. Attention, en fin de fonction, il faudra "compenser" cet angle dont la tortue aura tourné, de façon à ce qu'elle revienne dans la direction où elle allait avant l'appel de la fonction.
  4. Utiliser la fonction que vous venez de définir pour réaliser les figures suivantes :
20 carrés, tous tracés à partir du même point ( le centre de la figure ), mais pivotés d'un angle croissant de façon à réaliser un "tour" de cercle complet.
Même chose, mais avec des carrés de taille croissante
un damier de 5 x 5 carrés. Réfléchissez d'abord à comment tracer une seule rangée, puis les 5...

Lien vers les RÉPONSES

Fonction étoile

Voila une fonction qui dessine un triangle équilatéral :

from turtle import * def etoile(): down() for i in range(3): forward(50) right(180 - 180/3) up() # à placer EN FIN de programme principal done()
Triangle équilatéral
  1. utiliser cette fonction pour analyser son fonctionnement
  2. modifier cette fonction de façon à pouvoir tracer une étoile à 5 branches, puis une étoile à 7 branches
  3. modifier cette fonction de façon à pouvoir tracer une étoile comportant un nombre quelconque ( impair ! ) de branches, et de longueur de branche quelconque, passés en arguments à la fonction
  4. Utiliser la fonction que vous venez de définir pour réaliser un ciel étoilé comme la figure ci-dessous :
Etoiles à 5 et 7 branches
Une vingtaine d'étoiles de taille, de couleur et de nombre de branches aléatoires, placées au hasard...

Lien vers les RÉPONSES

Fonction "étincelle"

  1. Écrire une fonction qui permet de tracer une "étincelle" comme ci-contre, avec un nombre n quelconque de "rayons" et une longueur d quelconque pour ces rayons.
  2. Utiliser cette fonction pour créer un "ciel d'étincelles", de tailles et de formes différentes.
Etincelle

Lien vers les RÉPONSES