Python au lycée (2) : Les instructions conditionnelles Méthode

Programmer une fonction définie par morceaux

Durée estimée
5 minutes
Votre progression

Créez un compte gratuit pour suivre votre avancement et reprendre où vous avez laissé.

Créer un compte

Méthode

Pour programmer une fonction mathématique définie par morceaux en Python :

  1. Demander la valeur de x à l'utilisateur et la convertir en décimal avec float(input(...)).
  2. Identifier les différents morceaux et les conditions qui les délimitent (intervalles, signes, seuils).
  3. Écrire une structure if … elif … else qui reprend ces conditions dans l'ordre, du cas le plus restrictif au plus général.
  4. Dans chaque bloc, calculer l'image y avec la formule correspondant à ce morceau.
  5. Afficher le résultat avec print après la structure conditionnelle.

Fonction en deux morceaux

Soit f la fonction définie par :

$f(x) = -x + 1$ si $x \leqslant 0$ et $f(x) = 3x + 1$ si $x > 0$

On programme le calcul d'une image :

x = float(input("Entrez un nombre x : "))
if x <= 0 :
    y = -x + 1
else :
    y = 3 * x + 1
print("f(", x, ") =", y)

Étape 1 : Deux morceaux, séparés par le seuil $x = 0$. On utilise une structure if … else.

Étape 2 : Pour $x = -2$ : la condition x <= 0 est vraie, on calcule $y = -(-2) + 1 = 3$. Affichage : « f( -2 ) = 3 ».

Étape 3 : Pour $x = 4$ : la condition x <= 0 est fausse, le else s'applique : $y = 3 \times 4 + 1 = 13$.

Fonction en trois morceaux

Soit g la fonction définie par :

$g(x) = -1$ si $x < -2$, $g(x) = x + 1$ si $-2 \leqslant x \leqslant 2$, $g(x) = 3$ si $x > 2$

On programme :

x = float(input("Entrez un nombre x : "))
if x < -2 :
    y = -1
elif x <= 2 :
    y = x + 1
else :
    y = 3
print("g(", x, ") =", y)

Étape 1 : Trois morceaux, deux seuils ($-2$ et $2$). On utilise if … elif … else.

Étape 2 : Dans le elif, on écrit uniquement x <= 2. En effet, Python n'atteint cette ligne que si x < -2 est faux, c'est-à-dire si $x \geqslant -2$. Inutile donc de retester cette borne inférieure.

Étape 3 : Test avec $x = 0$ : la première condition est fausse, x <= 2 est vraie, donc $y = 0 + 1 = 1$.

Étape 4 : Test avec $x = 5$ : les deux premières conditions sont fausses, le else s'applique : $y = 3$.

Attention

Bien choisir les inégalités larges ou strictes pour que chaque valeur appartienne à un et un seul morceau. Par exemple, si la fonction est donnée pour $x \leqslant 0$ et $x > 0$, la valeur $x = 0$ appartient au premier morceau : on écrit if x <= 0 : et non if x < 0 :.

Pour vérifier le programme, tester les valeurs aux bornes (ici $x = -2$, $x = 2$) et dans chaque intervalle.

Pour s'entraîner