Mathématiques · Seconde
Fonctions en Python : quiz de 2de
Publié le 9 novembre 2026 · Mis à jour le 9 novembre 2026 · Signaler une erreur
L'essentiel
- Une fonction se définit avec le mot-clé def, un nom, des paramètres entre parenthèses et deux-points.
- Le corps de la fonction est indenté ; tout ce qui est décalé vers la droite lui appartient.
- return renvoie une valeur et arrête la fonction ; print se contente d'afficher.
- Une fonction ne s'exécute que lorsqu'on l'appelle, avec des arguments qui remplissent les paramètres.
- Les variables créées dans une fonction sont locales : elles n'existent pas en dehors.
Avant de commencer
Ce quiz porte sur les fonctions en Python, telles qu'on les rencontre en seconde. Le langage de programmation retenu au lycée général et technologique est Python 2. La notion de fonction informatique n'apparaît pas au collège : c'est donc au lycée que tu la découvres 2. Pour définir une fonction, on utilise la commande def 1.
Tu vas rencontrer des questions sur la syntaxe (le mot def, les deux-points, l'indentation), sur le rôle des paramètres et des arguments, sur la différence entre afficher et renvoyer, sur les variables locales, et enfin sur la lecture de petits programmes dont tu dois prévoir le résultat. Tu mobilises ce que tu connais déjà : les variables et l'affectation, les instructions conditionnelles if, et les boucles.
Quiz
16 questions · correction immédiate · ton score reste sur ton appareil.
-
Le mot-clé
defouvre la définition d'une fonction, suivi de son nom.functionexiste dans d'autres langages, mais pas en Python, etreturnsert à renvoyer un résultat à l'intérieur de la fonction, pas à la créer. -
Un en-tête correct comporte
def, un nom d'un seul tenant, des parenthèses avec les paramètres séparés par des virgules, puis les deux-points.def carre(x)oublie les deux-points.aire rectanglecontient une espace : le nom doit s'écrire d'un bloc, par exempleaire_rectangle. -
On remplace
xpar 4 : . Si tu trouves 12, tu as oublié d'ajouter 2 ; si tu trouves 18, tu as ajouté 2 avant de multiplier. L'argument 4 vient simplement remplir le paramètrex. -
returnfournit la valeur à l'appelant, qui peut la stocker dans une variable ou l'utiliser dans un calcul.printmontre seulement du texte à l'utilisateur. La confusion est fréquente parce que, dans la console, les deux semblent produire un résultat visible. En réalité, c'estreturnqui termine la fonction, pasprint. -
Le corps d'une fonction est formé des lignes indentées sous l'en-tête : ici
r = 2 * netreturn r. La ligne 4 n'est pas décalée : elle est en dehors de la fonction et sert à l'appeler. L'en-tête (ligne 1) n'est pas dans le corps, c'est lui qui l'introduit. -
Les noms écrits dans l'en-tête sont les paramètres : ce sont des cases vides, prévues pour recevoir des valeurs. Les arguments sont les valeurs données au moment de l'appel, comme dans
aire(3, 5). Ce ne sont pas des mots-clés : ce sont des noms choisis librement par celui qui écrit la fonction. -
Avec , la condition
x < 0est vraie : la fonction exécutereturn -x, donc renvoie . Le secondreturnn'est jamais atteint, car la fonction s'arrête dès le premierreturnrencontré. Répondre -5 reviendrait à ignorer la condition. -
La variable
yest locale : elle est créée pendant l'appel def, puis disparaît. Le dernierprint(y)cherche une variable qui n'existe pas dans le programme principal, ce qui provoque une erreur. Il ne s'affiche pas 3, car le résultat def(2)n'a jamais été mémorisé dans une variable. -
C'est faux : dès que Python rencontre
return, la fonction se termine et renvoie la valeur. Les instructions placées après ne sont jamais exécutées. Penser le contraire revient à croire quereturnfonctionne comme un simpleprint, alors qu'il interrompt l'exécution de la fonction. -
La boucle fait passer
ipar 1, 2, 3 puis 4, et ajoute chaque valeur àtotal: . Si tu trouves 6, tu as oublié querange(1, n + 1)va jusqu'à inclus ; si tu trouves 4, tu as retenu seulement la dernière valeur dei. -
L'opérateur de puissance en Python s'écrit
**. Le symbole^existe aussi, mais il a un tout autre rôle et ne donne pas le carré.x2serait le nom d'une autre variable, et2 * xcalcule le double de , pas son carré. -
Pour , la condition
x >= 0est fausse : le programme passe dans la brancheelseet renvoie"négatif". Il n'y a pas deNone, car chaque branche contient unreturn. On ne renvoie pas-3: la fonction renvoie un texte, pas la valeur de départ. -
On calcule dans l'ordre : , puis , puis , enfin . L'erreur classique est de multiplier 3 par avant d'élever au carré, ce qui donnerait . En Python, on l'écrirait
3 * (x - 2) ** 2 + 7. -
C'est faux : une fonction peut très bien ne rien renvoyer 1, par exemple si elle se contente d'afficher un message avec
print. Dans ce cas, on ne peut pas réutiliser son résultat dans un calcul. Lereturnest donc nécessaire seulement quand on veut récupérer une valeur. -
Définir une fonction, c'est la mémoriser sous un nom. Elle ne s'exécute qu'au moment de l'appel, avec des arguments. Sans appel, aucun calcul n'a lieu et rien ne s'affiche. Il n'y a pas d'erreur de syntaxe, puisque l'écriture est correcte.
Les questions qu'on se pose
Pourquoi faut-il indenter le corps d'une fonction ?
En Python, c'est l'indentation qui indique où commence et où finit le corps de la fonction. Toutes les lignes décalées de la même manière sous l'en-tête en font partie. Si tu oublies le décalage, Python signale une erreur, ou la ligne se retrouve en dehors de la fonction et ne se comporte plus comme tu le voulais.
Comment savoir si je dois utiliser print ou return ?
Pose-toi la question : « vais-je réutiliser ce résultat ? ». Si oui (le stocker, l'utiliser dans un autre calcul, le comparer), utilise return. Si tu veux seulement montrer un message à l'écran, utilise print. Dans une fonction qui calcule quelque chose, on privilégie presque toujours return.
Quelle différence entre un paramètre et un argument ?
Le paramètre est le nom écrit dans l'en-tête, au moment de définir la fonction (par exemple x dans def f(x):). L'argument est la valeur concrète donnée à l'appel (par exemple 4 dans f(4)). Au moment de l'appel, le paramètre prend la valeur de l'argument.
Sources
- Ressource Éduscol - Algorithmique et programmation (document d'accompagnement), Éduscol - Ministère de l'Éducation nationale. Consulté le 9 novembre 2026.
- Ressource Éduscol - Fonctions et programmation, Éduscol - Ministère de l'Éducation nationale. Consulté le 9 novembre 2026.
- Document ressource fonctions - IREM, IREM - Université de Lille. Consulté le 9 novembre 2026.
- Python (langage), Wikipédia. Consulté le 9 novembre 2026.
Les numéros dans le texte renvoient à ces sources. Une source qui ne dit pas ce qu'on lui fait dire ? Signale-le.