11. Renvoyer - return

Dans ce chapitre, nous allons voir comment une fonction peut renvoyer une valeur. Ceci est très important pour pouvoir utiliser une fonction dans une expression mathématique. Nous allons voir que :

  • le mot-clé return permet de renvoyer une valeur,

  • la fonction qui ne renvoie rien renvoie None,

  • l’expression return x, y renvoie un tuple.

Question

En informatique, le mot-clé return est utilisé pour




11.1. Valeur de retour

L’instruction return permet de retourner une valeur. Le grand intérêt d’une valeur de retour est qu’on peut l’utiliser de nouveau dans des expressions.

Par exemple, nous pouvons créer une expression comme celle-ci : square(x) + cube(x)

Exercice 1

Testez le code avec 2, 3 et 4.
Ajoutez une fonction identite(x) qui renvoie juste x.
Ajoutez une ligne qui calcule identité + carré + cube.

11.2. Points de sortie

Une fonction peut avoir plusieurs points de sortie. En fait quand une ligne avec return est exécutée, toutes les lignes qui suivent ne sont plus exécutées.

La fonction signe() possède 3 points de sortie.

Exercice 2

Testez avec -2, 0 et 3.

11.3. Fonction linéaire

En mathématique une fonction linéaire a la forme:

\[ f(x) = a x + b \]

Le paramètre a est appelé la pente de cette fonction. C’est l’équation d’une droite.

Nous pouvons définir une telle fonction avec la commande def f(x): et le mot-clé return qui calcule une expression linéaire avec la variable x.

Voici la définition de la fonction et cette fonction appelée avec trois valeurs particuliers: 3, 6, et 9.

Exercice 3

Changez la fonction en \( f(x) = 2x - 3 \).

11.4. Tracer une fonction

Nous pouvons tracer une fonction f(x) comme graphe dans un système de coordonnées.

La fonction axis() affiche l’axe x dans une plage de -5 à +5.

  • La fonction stamp() ajoute une flèche (c’est la forme de la tortue),

  • La fonction write('x') ajoute l’étiquette de l’axe x.

Ensuite nous définissons une fonction tracer(f, c) qui permet de tracer une fonction f avec une couleur c.

L’argument f est la fonction à afficher.

Exercice 4

Changez la pente de f en 0.4 et la pente de g en -0.3.
Définissez une fonction \( h(x) = 0.1 x - 2 \) et affichez-la avec la couleur verte.

11.5. Fonction quadratique

En mathématique une fonction quadratique a la forme:

\[ f(x) = a x^2 + b x + c \]

Donc voici deux fonctions quadratiques tracées en rouge et bleu.

Exercice 5

Définissez une troisième fonction h(x) et affichez-la avec la couleur verte.

11.6. Renvoyer des tuples

Dans un tuple avec multiples points, nous pouvons extraire un point particulier en utilisant un indice entre crochets. Nous obtenons :

  • le premier point avec l’indice 0

  • le dernier point avec l’indice -1

La fonction first(points) prend comme argument un tuple de points et renvoie seulement le premier point.

Exercice 6

Ajoutez une fonction last(points) qui renvoie seulement le dernier point et affichez le résultat.

L’opérateur + permet de concaténer le premier point à la fin du tuple points.
Attention de placer le dernier point dans un tuple

La fonction polyline(points, c) affiche le polygone fermé qui est donné par le tuple de coordonnées points.

11.7. Extraire x et y

L’expression for p in points parcourt tous les éléments dans points et les associe à p. Nous pouvons l’utiliser pour extraire x ou y.

Une autre façon d’obtenir la même chose est:

La fonction xcors(points) retourne le tuple des coordonnées x des points du polygone défini par points.

La fonction ycors(points) retourne le tuple des coordonnées y des points du polygone défini par points.

11.8. Changer l’échelle

La fonction scale(points, s) retourne les points du polygone défini par points qui est changé d’échelle par le facteur de taille s (size ou scale) qui est définie par un tuple (dx, dy).

Exercice 7

Ajoutez un point supplémentaire au polygone pour en faire un rectangle.
En plus, changez l’échelle du polygone d’un facteur (4, 1) et affichez-le avec la couleur verte.

11.9. Changer la position

La fonction place(points, p) retourne les points du polygone défini par points qui est déplacé par le vecteur de position p.

Exercice 8

Ajoutez un point supplémentaire au polygone pour en faire un rectangle.
Changez la position du polygone d’un vecteur (-200, 100) et affichez-le avec la couleur verte.

11.10. Centre du polygone

La fonction center(points) retourne le point qui est au centre du polygone défini par points.

Le centre est calculé en prenant la valeur moyenne des coordonnées x et la valeur moyenne des coordonnées y.

11.11. Rectangle du polygone

La fonction box(points) retourne les 4 points du rectangle qui entoure le polygone défini par points.

Exercice 9

Ajoutez 1-2 points supplémentaire aux deux polygones.
Vérifiez que la boite s’adapte pour toujours entourer exactement les points.