Aller au contenu

Les fonctions⚓︎

Une fonction est un petit bout de programme destiné à accomplir une action particulière comme afficher une phrase, calculer une moyenne, tracer un carré, lire un fichier, etc.

En regroupant le code dans une fonction on évite des répétitions inutiles tout en facilitant la compréhension et la maintenance générale du programme.

Définition d'une nouvelle fonction⚓︎

Le programme suivant permet de définir la fonction triple destinée à calculer le triple d'une valeur quelconque.

🐍 Script Python
def triple(x):
    return 3 * x

On constate immédiatement que la définition d'une fonction commence par le mot clé def, suivi du nom de la fonction (ici triple) et de la liste de ses paramètres entre parenthèses (ici un nombre appelé x).

Les deux points (:) à la fin de cette première ligne servent à introduire le programme (indenté de 4 espaces) que devra exécuter la fonction lorsqu'elle sera appelée. Dans le cas présent, ce programme est réduit à une seule ligne.

Le mot clé return permet de renvoyer le résultat du calcul de 3 fois x à l'issue de l'exécution de la fonction.

Utilisation de cette nouvelle fonction⚓︎

Maintenant que la fonction triple est définie, il suffit de l'appeler (on dit aussi invoquer) en lui passant en argument la valeur dont on souhaite calculer le triple.

Pour obtenir le triple du nombre 5 on peut maintenant procéder comme suit :

🐍 Script Python
resultat = triple(5)

Le paramètre x de la fonction triple va se voir affecter la valeur 5. Puis la fonction va calculer 3 * 5, pour finalement renvoyer 15.

La variable resultat se voit ainsi affecter la valeur 15 (en lieu et place de triple(5)).

Exercice⚓︎

Écrivez à la main la définition de la fonction successeur ayant pour paramètre un entier n et qui renvoie le nombre entier qui suit n (par exemple quand n vaudra 7 alors la fonction renverra 8).

Solution
🐍 Script Python
def successeur(n):
    return n + 1

Complétez à la main le programme qui suit en affectant à a le successeur de 3 et à b le successeur de a.

🐍 Script Python
a = 
b = 

Solution
🐍 Script Python
a = successeur(3)
b = successeur(a)

Un second exemple⚓︎

La fonction suivante permet de calculer la moyenne des deux nombres a et b.

🐍 Script Python
def moyenne(a, b):
    m = (a + b) / 2
    return m
Ici la fonction a deux paramètres a et b. Elle commence par calculer la moyenne de a et b en affectant le résultat à la variable m. Puis elle renvoie la valeur de m.

On peut s'en servir pour calculer les coordonnées du milieu M d'un segment [RS] tel que R(5;3) et S(9;-1) en procédant comme ceci :

🐍 Script Python
xR, yR = 5, 3         # coordonnées de R (on affecte en parallèle 5 à xR et 3 à yR)
xS, yS = 9, -1        # coordonnées de S
xM = moyenne(xR, xS)  # abscisse de M = moyenne des abscisses de R et S
yM = moyenne(yR, yS)  # ordonnée de M = moyenne des ordonnées de R et S

Exercice⚓︎

Écrivez à la main, une fonction affine de paramètres a, b et x (dans cet ordre) et qui renvoie le résultat de a * x + b.

Solution
🐍 Script Python
def affine(a, b, x):
    return a * x + b

Écrivez maintenant le programme qui affecte aux variables r et s les résultats des calculs 2×5+7 et -3×(-4)+1 au moyen de la fonction affine. Attention à l'ordre d'écriture des arguments avec affine(a,b,x).

Solution
🐍 Script Python
r = affine(2, 7, 5)     # pour 2×5+7 l'appel se fait avec a=2, b=7 et x=5
s = affine(-3, 1, -4)   # pour -3×(-4)+1 l'appel se fait avec a=-3, b=1 et x=-4

Entraînement⚓︎

Poursuivez votre entraînement sur les fonctions en vous rendant sur le site Pyvert.