PYTHON LANGUAGE


  • Modules and functions


Watch the video on "modules and turtle" (click-here) 


Until now you have only used native Python instructions. It is also possible to use instructions written by other programmers; These instructions called functions are then stored in libraries called modules. You must cite the module and import its functions into your program to use them.


Jusqu'à présent vous n'avez utilisé que des instructions natives du langage python. Il est aussi possible d'utiliser des instructions écrites par d'autres programmeurs; Ces instructions appelées fonctions sont alors rangées dans des bibliothèques appelées modules. Vous devez citer le module et importer ses fonctions dans votre programme pour pouvoir les utiliser.


    • Example: Turtle module


The turtle module allows you to control a turtle that draws on the screen. This module contains a set of instructions (functions) which allow you to animate the turtle on the screen (the table of functions is discovered below):


Le module turtle permet de contrôler une tortue qui dessine à l'écran. Ce module contient un ensemble d'instructions (des fonctions) qui permettent d'animer la tortue à l'écran ( le tableau des fonctions est découvert plus bas):



You can import all the functions of the module


# the * sign means all functions of the turtle library


from turtle import *


We could import only some of the module's functions:


# in this example we would import the two functions goto and ht from the turtle module


from turtle import goto, ht 



On peut importer toutes les fonctions du module


# le signe * veut dire toutes les fonctions de la bibliothèque turtle


from turtle import *


On pourrait n'importer que certaines des fonctions du module:


# dans cet exemple on importerait les deux fonctions goto et ht du module turtle

from turtle import goto, ht



Exercice 4.1


Try this code:


from turtle import *

# on définit l'épaisseur du trait à 3 pixels avec la fonction width(..)

width(3)

# on sélectionne la couleur rouge avec la fonction color(..)

color("red")

# depuis le centre de coordonnées x=0,y=0 on avance de 50 pixels selon x, on reste à y=0 avec la fonction goto(..)

goto(50,0)

# on monte ensuite de 50 pixels selon y => x=50 y=50 avec la fonction goto(..)

goto(50,50)

# on revient en x = 0  en restant à y=50 avec la fonction goto(..)

goto(0,50)

# on revient au centre avec la fonction goto(..)

goto(0,0)

# on cache la tortue avec la fonction ht()

ht()

# on donne un titre au dessin avec la fonction title(...)

title("un carré rouge")


The main functions of the Turtle module are:
Les principales fonctions du module Turtle sont:

Fonctions

 description

goto(x,y)

aller au point de coordonnées x, y

forward(d)

avancer d'une distance d en pixels

backward(d)

reculer d'une distance d en pixels

left()

pivoter à gauche de l'angle  en degré

right()

pivoter à droite de l'angle  en degré

circle( r, )

dessiner un arc de cercle de rayon r et d'angle

up()

relever le crayon ( interrompt le dessin)

down()

redescend le crayon ( reprendre le dessin)

width(e)

fixer l'épaisseur du trait à la valeur e pixels

color(c)

donne la couleur c au trait , les couleurs peuvent être nommées en Anglais: "red", "yellow", "pink", "blue", etc..

begin_fill()

active le coloriage de la forme

end_fill()

désactive le coloriage de la forme

reset()

efface le dessin

speed(s)

définit une vitesse s avec les chaines "slow", "normal", "fast", "fastest", on peut aussi donner un nombre entre 1 ( très lent) et 10 (très rapide)

title(t)

donne le titre t au graphe

ht()

cache la tortue



Exercice 4.2


Try this code:


from turtle import *

width(2)

color("red")

circle (4, 180) # dessin d'un arc de cercle de 180° (1/2 cercle) et de rayon 4px  

width(3)

color("blue")

circle(9,180)

width(4)

color("red")

circle(16,180)

width(5)

color("blue")

circle(25,180)

width(6)

color("red")

circle(36,180)

width(7)

color("blue")

circle(49,180)

width(8)

color("red")

circle(64,180)

ht()

title("spirale")

Exercice 4.3


Modify the prvious to get the folowing pictures  (voir l'aide ci-dessous avant d'essayer de faire)  


           


Help: First you need to know turtle's coordinate system:

if we draw a complete circle of radius 55 pixels with the circle(55,360) instruction, we obtain:


Aide: il vous faut d'abord connaître le système de coordonnées de turtle:

si on trace un cercle complet de rayon 55 pixels avec l'instruction circle(55,360), on obtient:




le cercle est centré dans la fenêtre autour de la coordonnée 0,0, son rayon est de 55 pixels, les points rouge, vert, bleu et orange sont sur le cercle, ils ont la coordonnée X ou la coordonnée Y qui vaut 55.

Le point rouge a une coordonnée X = -55  et celui orange a une coordonnée Y = -55.


Pour le dessin de cercles concentriques ( même centre) , on peut utiliser les valeurs données ci-dessous; l'extrait de code vous montre comment tracer le cercle rouge et le cercle bleu avec ces coordonnées:


   

Pour le dessin de la tomate, vous fixerez que le 0 sera au point de jonction entre les feuilles et le fruit; une feuille est un quart de cercle ( le code d'une feuille est donné ci-dessous).


   


  • Functions


A function is a block of instructions that has been given a name. We recognize a function by the two parentheses following its name: print(...) is a function that you often use, all the instructions in the turtle module are functions, you may have noticed that at no time did you have access to the blocks of code for these functions, it is the job of the interpreter to read the blocks of instructions to know what to do when asked to execute a function.


Une fonction est un bloc d'instructions auquel on a donné un nom. On reconnaît une fonction aux deux parenthèses qui suivent son nom: print(...) est une fonction que vous utilisez souvent, toutes les instructions du module turtle sont des fonctions, vous avez pu remarquer qu'à aucun moment vous avez eu accès aux blocs de code de ces fonctions, c'est le travail de l'interpréteur de lire les blocs d'instructions pour savoir que faire lorsqu'on lui demande l'exécution d'une fonction.




    • How to write a function?

A function is declared with the keyword def followed by its name, here is a function called dessine_carré_de_cinquante()  which draws a 50 px square with turtle:


Une fonction se déclare avec le mot clé def  suivi de son nom, voici une fonction appelée dessine_carré_de_cinquante() qui dessine un carré de 50 px avec turtle :


from turtle import *


def dessine_carré_de_cinquante():

    width(3)

    color("red")

    goto(50,0)

    goto(50,50)

    goto(0,50)

    goto(0,0)

   


# To use it, simply call it in the code like the other functions:

# Pour l'utiliser, il suffit de l'appeler dans le code comme pour les autres fonctions:


dessine_carré_de_cinquante()

left(45)

goto(50, 50)

goto(0,50)

right(45)

goto(50,0)

ht()

   


Exercice 4.4

test the code:


from turtle import *


def dessine_carré_de_cinquante():

    width(3)

    color("red")

    goto(50,0)

    goto(50,50)

    goto(0,50)

    goto(0,0)

   


# To use it, simply call it in the code like the other functions:

# Pour l'utiliser, il suffit de l'appeler dans le code comme pour les autres fonctions:


dessine_carré_de_cinquante()

left(45)

goto(50, 50)

goto(0,50)

right(45)

goto(50,0)

ht()




    • Function with parameters



In the previous example, it would have been preferable if the square had an adjustable size, thickness, color and any x and y position. For this, the values ​​used by the function should be variables that are entered when calling the function, the names of the variables used by the function are placed in parentheses separated by commas, during the definition of the function, example:


Dans l'exemple précédent, il aurait été préférable que le carré soit de taille réglable, d'épaisseur, de couleur et de position x et y quelconque. Pour ça les valeurs qu'utilisent la fonction devraient être des variables que l'on renseigne lors de l'appel de la fonction, les noms des variables qu'utilisent la fonction sont placés dans les parenthèses séparées par des virgules, lors de la définition de la fonction, exemple:


from turtle import *


# une fonction qui dessine un carré de taille, position et couleur réglable

def dessine_carré (epaisseur, taille, position_x, position_y, couleur ):

    width(epaisseur)

    color(couleur)

    up()

    goto(position_x, position_y)

    down()

    goto(position_x + taille, position_y)

    goto(position_x + taille, position_y + taille)

    goto(position_x, position_y + taille)

    goto(position_x, position_y)

 

# ici on appelle la fonction avec epaisseur = 2, taille=100, position_x=50, position_y=50, couleur= "red"

dessine_carré (2, 100, 50, 50, "red" )

# on lève le stylo

up()

# on va à la coordonnée x=-100 et y = 0

goto(-100,0)

# on baisse le stylo

down()

# on appelle la fonction avec epaisseur = 2, taille=100, position_x=-100, position_y=0, couleur= "blue"

dessine_carré (2, 100, -100, 0, "blue" )

# on cache la tortue

ht()



Exercice 4.5

Tester le code ci-dessus ( vous pouvez copier-coller les parties)


Vous pouvez passer au chapitre suivant "synthesis"

Créé avec HelpNDoc Personal Edition: Produire des aides en ligne pour les applications Qt