Les fonctions


Les fonctions

Une fonction est une suite d'instructions associée à un nom
Par exemple (avec le module Turtle):

            import turtle
            tina = turtle.Turtle()
            tina.shape("turtle")

            def carre():
                for i in range(4):
                    tina.forward(100)
                    tina.left(90)
    
            carre()
            
La définition commence par le mot clé def, suivi par le nom de la fonction, ici carre, puis une paire de parenthèses et deux points.
Le corps de la fonction est constitué d'un bloc d'instructions écrit en retrait (indenté) comme on le ferait pour une instruction if ou for.
On appelle la fonction avec son nom : carre()
Réaliser ce programme ci-dessous, et rajouter une fonction triangle_equilateral()

les fonctions avec paramètres

Dans notre fonction carre(), la longueur est fixée à 100.
On peut ajouter un paramètre à la fonction:

            import turtle
            tina = turtle.Turtle()
            tina.shape("turtle")

            def carre(longueur):
                for i in range(4):
                    tina.forward(longueur)
                    tina.left(90)
    
            carre(50)           
            
            
Le paramètre est désigné par un nom (ici : longueur), ajouté dans les parenthèses. Il est ensuite utilisé dans le corps de la fonction comme une variable.
Réalisez ce programme :
Modifiez le programme précédent, pour qu'il puisse exécuter le code suivant :

            
            tina.up() # lève le crayon (on peut utiliser aussi : tina.penup())
            tina.goto(-100,-100) # place la tortue aux coordonnées (-100,-100)
            tina.down()# abaisse le crayon
            for i in range(20,200,20):
                carre(i)
            
Pour info : La fenêtre par défaut est 950 = 2 × 475 pixels de large et 800 = 2 × 400 pixels de haut. Le point (0, 0) est au centre de l’écran.

Avec plusieurs paramètres

Nous allons faire en sorte que la tortue(tina) se place là on on le souhaite pour dessiner le carré.
Comme on la vu, la méthode goto(x,y) place la tortue aux coordonnées indiquées.

            import turtle
            tina = turtle.Turtle()
            tina.shape("turtle")

            def carre(longueur,x,y):
                tina.up()
                tina.goto(x,y)
                tina.down()
                for i in range(4):
                    tina.forward(longueur)
                    tina.left(90)
    
            carre(50,-100,100)           
            
Réalisez ce programme :
Faites en sorte d'obtenir le résultat
ci-contre
Pour davantage de méthodes sur le module Turtle, Rendez vous ici

Des polygones réguliers

Un polygone régulier est un polygone qui a tous ses côtés de même longueur et tous ses angles de même mesure.
Si un polygone à n côtés est régulier , alors la mesure de chaque angle au centre interceptant un côté du polygone est égale à : 360/n

Le programme ci-dessous dessine un hexagone

import turtle
tina = turtle.Turtle()
tina.shape("turtle")

def hexagone(cote,x,y):
  tina.up()
  tina.goto(x,y)
  tina.down()
  for i in range(6):
    tina.forward(cote)
    tina.left(360/6) 
    
hexagone(50,-50,-100)         
            
Transformer la fonction hexagone(cote,x,y) en une fonction polygone(n,cote,x,y) qui dessinera un polygone régulier à n côtés.

Fonctions avec retours

Les fonctions peuvent également retourner une(ou plusieurs) valeur stockable dans une variable:
Par exemple :

            def f(x):
                return 2*x+1
            a=f(3)
            
a contient le résultat de f(3)

La fonction suivante retourne le plus grand de deux entiers:

            def maxi(a,b):
                if a<b:
                    return b
                else:
                    return a
            
Testez cette fonction:
Sans modifier la fonction maxi, comment faire en sorte d'obtenir le plus grand de 3, 4 ou 5 entiers ?
Aide.. maxi(a,maxi(b,c))