Les fonctions

Principe

Une fonction est une structure de programmation qui encapsule un bloc d'instructions renvoyant des résultats. Utiliser des fonctions permet d'effectuer des opérations répétitives sans devoir saisir les instructions à chaque fois. Une fois définie, une fonction peut en effet être appelée à plusieurs reprises dans le même programme. Cela permet également de découper un programme en parties plus simples et de rendre le programme plus lisible.

La fonction somme ci-dessous simule le lancer de deux dés et renvoie la somme des deux faces sorties.

+

Syntaxe

Le mot clé def permet de definir une fonction en précisant son nom et les éventuels paramètres en jeux. La ligne contenant l'instruction def se termine obligatoirement par deux-points ":" qui introduisent un bloc d’instructions. Le bloc d'instructions est délimité grâce à l’indentation. Ce bloc constitue le corps de la fonction. Les résultats sont renvoyés grâce au mot clé return

.

Remarques

L'indentation est un élément syntaxique du langage Python. Dans une fonction, le bloc indenté regroupe l'ensemble des instructions relatives à la fonction.

Les éditeurs de code que nous utiliserons comportent une aide syntaxique, taper "entrée" après les deux points ":" ramène le curseur à la ligne en respectant l'indentation attendue.

Exemples

Exemple 1

L'exemple ci-dessous traduit en langage Python la fonction somme de deux dés rencontrée en introduction.

Exécuter le programme ci-dessus, puis, appeler la fonction somme plusieurs fois en saisissant
"somme( )" puis en tapant sur "entrée" dans la console ci-dessous.

 
				

Exemple 2

La fonction farenheit prend en paramètre Tc, température en degrés Celsius et renvoie
la température correspondante en degrés Farenheit

Par exemple, l'appel "farenheit(20)" renvoie 68.0. Exécuter le programme ci-dessus, puis
effectuer différentes conversions dans la console ci-dessous.

 
				

Exemple 3

La fonction moyenne prend en paramètres trois nombres et renvoie leur moyenne.

Exécuter le programme ci-dessus, puis, appeler la fonction moyenne pour
différentes valeurs des paramètres a, b et c dans la console ci-dessous.

 
				

Exemple 4

La fonction comparaison définie ci-dessous utilise deux fonctions auxiliaires.

L'appel "comparaison(x)" renvoie le booléen True si le cube de x est inférieur ou égale au carré de x.
Exécuter le programme ci-dessus, puis appeler "comparaison(0.5)", "comparaison(2)" et "comparaison(0)".

 
				

Exercices:

Exercice 1

La définition de la fonction v comporte exactement deux erreurs.

Après avoir corrigé les erreurs, exécuter le programme ci-dessus, puis appeler plusieurs
fois la fonction v pour différentes valeurs du paramètre t dans la console ci-dessous:

 
				
- Il manque les deux points à la fin de la première ligne,

- l'indentation de la deuxième ligne n'est pas respectée.

Exercice 2

Ecrire une fonction triple prenant un paramètre n de type entier qui renvoie le triple de n

Exécuter le programme ci-dessus puis, appeler plusieurs fois la fonction triple dans la console ci-dessous.

 
				

Exercice 3

Compléter la fonction double pour qu'elle renvoie le double d'un nombre
pseudo-aléatoire compris entre 0 et 10, puis, exécuter la cellule de code.

Exécuter le programme ci-dessus puis, appeler plusieurs fois la fonction double dans la console ci-dessous.

 
				

Exercice 4

L'indice de masse corporelle est calculé en divisant le poids (exprimé en kilos)
par la taille au carré (exprimée en mètres).

Ecrire une fonction imc qui prend les paramètres poids et taille et renvoie
l'imc correspondant.

Exécuter le programme ci-dessus puis, appeler imc(50, 1.65), puis imc(80, 1.75) dans la console ci-dessous.

 
				

Exercice 5

On considère la fonction h définie ci-dessous.
Ecrire une fonction positif qui prend x en paramètre et renvoie True si h(x) est strictement positif.

Exécuter le programme ci-dessus puis, appeler positif(1), positif(2) et positif(3) dans la console ci-dessous.