Nous allons commencer par faire un peu de dessin.
Pour cela, nous allons utiliser: la bibliothèque turtle qui vas nous donner accès aux instructions : forward() ou fd(), backward() ou back(), left(), right() et exitonclick.
Faisons un peu d’anglais. A quoi servent ces instructions? Que doit-on mettre dans les parenthèses?
L’instruction exitonclick est utile si on lance le programme depuis un fichier
En utilisant uniquement ces instructions, créer moi un programme construisant un carré (de côtes 100 pixels) en tournant dans le sens des aiguilles d’une montre.
Celui-ci commencera par la ligne : from turtle import*
from turtle import*
forward(100)
right(90)
forward(100)
right(90)
forward(100)
right(90)
forward(100)
right(90)
Recommencez en tournant dans le sens inverse de celui des aiguilles d’une montre.
from turtle import*
forward(100)
left(90)
forward(100)
left(90)
forward(100)
left(90)
forward(100)
left(90)
Comme vous pouvez le constatez, les dessins se superposent. Pour effacer le dessin précédent, utilisez l'instruction clear()
from turtle import*
clear()
forward(100)
left(90)
forward(100)
left(90)
forward(100)
left(90)
forward(100)
left(90)
Si vous avez suivi les instructions, vous avez recopié 4 fois les mêmes lignes. Soyons un peu fainéants et efficaces. Utilisons une boucle. Pour cela, vous utiliserez l’instruction : for i in range(): Vous penserez à indenter les instructions à répéter.
from turtle import*
clear()
for i in range(4):
forward(100)
left(90)
Créer un programme, qui en tournant dans le sens des aiguilles d’une montre dessine un hexagone de côté 80 pixels.
from turtle import*
clear()
for i in range(6):
forward(100)
right(60)
Ce programme pourrait être une partie d’un programme plus complexe. Nous allons voir comment le transformer en fonction, que nous pourrons appeler. Nous allons choisir comme nom de fonction polygone. Pas très original. La syntaxe est: def polygone(): Vous aurez constaté que les parenthèses laissent suggérer qu’il y a des variables à entrer. Celles-ci devront être séparées par une virgule. Vous utiliserez deux variables, la première pour donner le nombre de cotés, la seconde pour indiquer la longueur d'un coté. Vous constatez qu'il vous faire faire au programme un calcul pour connaitre l'angle de la rotation. Vous aurez également constaté les deux points qui indiquent qu’il faut indenter le corps de la fonction. Vous appellerez votre fonction pour lui faire dessiner un hexagone de coté 90.
from turtle import*
def polygone(nb_cotes,cote):
angle=360/nb_cotes
clear()
for i in range(nb_cotes):
forward(cote)
right(angle)
polygone(6,90)
Une personne lisant ce programme sans être très doué en anglais risque de ne rien comprendre. Vous allez ajouter des commentaires pour expliquer à quoi servent les différentes lignes. Pour cela, entre la seconde et la troisième ligne, vous allez entre triples guillemets """ """ expliquer à quoi sert votre fonction. à la fin de chaque ligne, vous ajouterez un hashtag suivi de commentaires expliquant ce que celle-ci fait.
from turtle import*
###section des fonctions
def polygone(nb_cotes,cote):
"""Cette fonction permet de dessiner un polygone. Le premier paramètre correspond au nombre de cotés,
le second à la longueur d'un coté"""
angle=360/nb_cotes #la variable angle est calculer et est égale à un angle du polygone.
clear() #Cette instruction permet d'effacer la fenêtre de dessin.
for i in range(nb_cotes): #Nous utilisons une boucle pour construire chaque cotés.
forward(cote) #Cette instruction permet de dessiner un segment de longueur cote en avançant.
right(angle) #Cette instruction permet d'effectuer une rotation pour positionner le crayon correctement.
###section main (c'est le programme principal)
polygone(6,90) #Nous appelons la fonction polygone avec les valeurs 6 (hexagone) et 90 (longueur du coté).
Tappez dans le shell : import turtle puis : help(turtle) que permettent de faire les instructions : setx() et penup() tappez dans le shell : help(polygone) Que constatez-vous? Vous allez construire un programme contenant une définition. L'objectif de ce programme sera de dessiner des créneaux(comme dans les chateaux forts). La fonction prendra en paramètres le nombre de créneaux et leurs dimensions.
from turtle import*
###section des fonctions
def creneaux(nb,longueur):
"""Cette fonction dessine des créneaux de chateaux fort. Elle prend en paramètre, le nombre de créneaux et leurs dimensions."""
clear() #Cette instruction permet d'effacer la fenêtre de dessin.
penup() #Cette fonction permet de lever le crayon.
setx(-300) #Cette fonction permet de déplacer le crayon de 300 pixels sur la gauche.
pendown() #Cette fonction permet de redescendre le crayon.
for i in range(nb): #Nous utilisons cette boucle pour construire nb créneaux.
forward(longueur) #Avancer de la valeur longueur.
left(90) #Tourner à gauche de 90 degrés.
forward(longueur)
right(90) #Tourner à droite de 90 degrés.
forward(longueur)
right(90)
forward(longueur)
left(90)
###section main
creneaux(4,70) #Nous appelons la fonction avec les valeurs 4 (4 créneaux) et 70 (longueur des créneaux).