Programmer une fonction mathématique en Python
Créez un compte gratuit pour suivre votre avancement et reprendre où vous avez laissé.
Créer un compteMéthode
Pour traduire une fonction mathématique $f$ en fonction Python :
- Choisir le nom de la fonction Python (souvent f, g…) et un nom de paramètre (x).
- Écrire l'en-tête : def f(x) :.
- Traduire la formule en langage Python : remplacer $\dfrac{a}{b}$ par a / b, $x^n$ par x ** n, $\sqrt{\,}$ par x ** 0.5 ou math.sqrt(x), etc.
- Utiliser un if … else si la fonction est définie par morceaux.
- Renvoyer le résultat avec return.
- Tester la fonction sur plusieurs valeurs avec print(f(...)).
Fonction affine
Soit $f$ la fonction définie sur $\mathbb{R}$ par $f(x) = -2x + 5$.
def f(x) :
return -2 * x + 5
print(f(0)) # affiche 5
print(f(3)) # affiche -1
print(f(-1)) # affiche 7
Étape 1 : On identifie la formule : $f(x) = -2x + 5$.
Étape 2 : On la traduit : return -2 * x + 5 (ne pas oublier le signe * de multiplication entre $-2$ et $x$).
Étape 3 : Tests : $f(0) = 5$, $f(3) = -6 + 5 = -1$, $f(-1) = 2 + 5 = 7$. Les trois appels renvoient les valeurs attendues.
Fonction définie par morceaux
Soit $g$ la fonction définie par :
def g(x) :
if x <= 0 :
return x ** 2
else :
return 2 * x + 1
print(g(-3)) # affiche 9
print(g(0)) # affiche 0
print(g(4)) # affiche 9
Étape 1 : Deux morceaux, séparés par $x = 0$. On utilise if … else dans la fonction.
Étape 2 : Le premier return est exécuté si $x \leqslant 0$. Dès qu'il est exécuté, la fonction s'arrête.
Étape 3 : Tests :
- $g(-3) = (-3)^2 = 9$ (premier morceau)
- $g(0) = 0^2 = 0$ (premier morceau, car inégalité large sur 0)
- $g(4) = 2 \times 4 + 1 = 9$ (second morceau)
Étape 4 : Comparaison avec un calcul manuel pour vérifier.
Racine carrée avec le module math
Soit $f(x) = \sqrt{x} + 1$, définie pour $x \geqslant 0$.
from math import sqrt
def f(x) :
return sqrt(x) + 1
print(f(9)) # affiche 4.0
print(f(16)) # affiche 5.0
Étape 1 : On importe la fonction sqrt du module math.
Étape 2 : Dans la définition, sqrt(x) calcule $\sqrt{x}$.
Étape 3 : $f(9) = \sqrt{9} + 1 = 3 + 1 = 4$. Python renvoie 4.0 (type float).
Attention
Deux erreurs fréquentes lors de la traduction :
- Oublier l'opérateur de multiplication : écrire 2x provoque une erreur en Python. Il faut écrire 2 * x.
- Utiliser ^ pour la puissance : l'opérateur de puissance est **. x^2 ne calcule pas le carré en Python.