gymnase-tp

TP 01 : Python & Tortue

Le module turtle

Vous allez utiliser le langage de programmation Python pour programmer un dessin grâce à une tortue.

Un programme informatique peut ressembler à ce que vous pouvez voir sur : tp-01.01

Il est composé d’une liste (ou séquence) d’instructions qui sera exécuté par l’ordinateur dans l’ordre :

Lorsque vous cliquez sur le bouton “Run”, toutes les instructions sont exécutées l’une après l’autre et le résultat s’affiche dans l’onglet “Result”.

Méthode & Argument

shape est une méthode du module turtle qui prend en argument un nom entre parenthèse.

A la ligne 3, remplacez "turtle" par "arrow", "circle", "square", "triangle" ou "classic" pour voir les différentes formes que peut prendre la tortue.

Notez qu’une méthode peut avoir 0, 1 ou plusieurs arguments:

method(argument1, argument2, ...)

Commentaire

Un commentaire permet d’ajouter du texte qui ne sera pas exécuté par l’ordinateur. Le caractère # marque le début d’un commentaire qui se termine à la fin de la ligne.

Commentez la ligne 4 en ajoutant # au tout début de la ligne, puis exécutez le programme pour voir ce qui a changé.

Se déplacer

Le module turtle possède plusieurs méthodes pour se déplacer dont :

Notez que backward(d) est équivalent à forward(-d) et left(a) à right(-a) : C’est la même chose de reculer de 2 pas que d’avancer de -2 pas.

Vous pouvez essayer ces différentes instructions en modifiant le programme précédent et voir votre résultat en exécutant à nouveau. Par exemple en rajoutant les lignes suivantes à la fin du programme:

turtle.left(90)
turtle.forward(64)

Exercice : Dessinez un carré de 64 pixels de côté.

Variable

Une variable en informatique peut être vu comme une boîte étiquettée avec un nom et qui contient une valeur.

Voici comment créer une variable nommée length qui contient une valeur de 64, puis d’utiliser cette variable pour faire avancer la tortue du nombre de pixels défini dans cette variable :

length = 64

turtle.forward(length)

Exercice : Modifiez tp-01.02 pour que la valeur 64 n’apparaisse qu’une seule fois. Vous pouvez maintenant plus simplement modifier la longueur de votre carré.

Exercice : Créez une variable nommée angle et dessinez un triangle en modifiant uniquement cette nouvelle variable.

Boucle

En programmation, il faut éviter les copier-coller car c’est une source d’erreur d’inattention et c’est difficile à modifier par la suite !

On va voir la notion de boucle qui permet de répéter un certain nombre de fois une liste d’instructions et ainsi éviter de copier du code :

# une boucle 'for' qui va être exécutée 4 fois
for i in range(4):
  # les instructions qui sont indentées dans la boucle 'for' seront exécutées 4 fois

Pour indenter du code, utilisez la touche “tab” du clavier.

Exemple

counter = 0

counter = counter + 1
counter = counter + 1
counter = counter + 1
counter = counter + 1

# counter = 4

Est équivalent à

counter = 0

for i in range(4):
  counter = counter + 1

# counter = 4

Exercice : Ajoutez une boucle dans le dessin de votre carré pour qu’il n’y ait plus plusieurs fois la même instruction.

Solution
import turtle

length = 64
angle = 90

for i in range(4):
  turtle.forward(length)
  turtle.left(angle)

Fonction

Une fonction est similaire à une méthode, sauf qu’elle n’est pas liée à un module. Elle regroupe une liste d’instruction et la nomme, ce qui permet une plus grande lisibilité du code et aussi une réutilisation facilitée.

counter = 0

def increment(): # définition de la fonction 'increment'
  counter = counter + 1

increment() # appel de la fonction 'increment'

# counter = 1

increment()

# counter = 2

Exercice : Complétez le code sur tp-01.03

Solution
import turtle

def square():
  length = 64
  angle = 90

  for i in range(4):
    turtle.forward(length)
    turtle.left(angle)


square()
turtle.penup()
turtle.backward(150)
turtle.pendown()
square()

Fonction & Paramètre

Une fonction peut avoir 0, 1 ou plusieurs paramètres. Un paramètre est une variable qui recevra une valeur lors de l’appel de la fonction.

Comme pour une méthode, l’appel d’une fonction peut aussi avoir des arguments. Le résultat de l’appel de la fonction va donc dépendre des arguments qu’on lui donne.

counter = 0

def increment(difference): # définition de la fonction 'increment' avec un paramètre 'difference'
  counter = counter + difference

increment(2) # appel de la fonction 'increment' avec '2' passé en argument

# counter = 2

increment(4)

# counter = 6

Exercice : Complétez le code sur tp-01.04

Solution
import turtle

def square(length):
  angle = 90

  for i in range(4):
    turtle.forward(length)
    turtle.left(angle)


square(100)
turtle.penup()
turtle.backward(150)
turtle.pendown()
square(50)

Exercice récapitulatif

Définissez une fonction polygon qui a comme paramètre :

Et qui dessine le polygone en question sur tp-01.05

Documentation

Vous trouverez toutes les méthodes disponibles dans la documentation.


Retour à l’accueil