Mathématiques · Première technologiqueÉpreuve anticipée de mathématiques
Fonctions en Python : cours de Première technologique
Publié le 11 novembre 2026 · Mis à jour le 11 novembre 2026 · Signaler une erreur
L'essentiel
- Une fonction est un bloc de code nommé, défini avec
def, qui reçoit des paramètres et peut renvoyer un résultat avecreturn. - Définir une fonction ne l'exécute pas : il faut l'appeler avec des arguments, par exemple
f(3). printaffiche à l'écran,returndonne une valeur réutilisable ailleurs dans le programme.- Les variables créées dans une fonction sont locales : elles n'existent pas en dehors.
- Une fonction peut contenir des conditions et des boucles, et utiliser les modules
mathetrandom.
Pourquoi utiliser des fonctions ?
Tu as déjà écrit des programmes avec des variables, des conditions et des boucles. Dès qu'un calcul revient plusieurs fois, par exemple convertir un prix ou calculer l'aire d'un disque, tu risques de recopier les mêmes lignes à chaque fois. C'est long, et une erreur recopiée dix fois devient dix erreurs à corriger.
La fonction règle ce problème : tu écris le calcul une seule fois, tu lui donnes un nom, puis tu l'utilises autant de fois que nécessaire. Tu connais déjà cette idée en mathématiques : une fonction transforme un nombre en un nombre . En Python, c'est la même logique, avec une écriture qui suit des règles précises.
Au lycée, le langage de programmation retenu pour les voies générale et technologique est Python.3 La notion de fonction informatique ne figure pas au programme du collège : elle est donc nouvelle pour toi.3 Le programme de première technologique te demande d'écrire une fonction simple en langage Python, de compléter, améliorer ou corriger un programme, et de structurer un programme en ayant recours aux fonctions.1
- Mot-clé defOn annonce qu'on définit une fonction.
- Nom et paramètresLe nom, puis les paramètres entre parenthèses.
- Deux-pointsIls terminent la ligne d'en-tête.
- Corps indentéLes instructions décalées, dont le return.
- AppelOn écrit le nom avec un argument : carre(5).
Définir et appeler une fonction
La syntaxe de définition suit le modèle def nom(paramètres):.4 Les instructions de la fonction se placent en dessous, décalées vers la droite : c'est l'indentation. Elle indique à Python quelles lignes appartiennent à la fonction. Voici une première fonction qui calcule le carré d'un nombre :
def carre(x):
return x * x
Le nom est carre, le paramètre est x, et la ligne indentée est le corps de la fonction. Le deux-points à la fin de la première ligne est obligatoire.
Cette définition n'affiche rien et ne calcule rien. Elle enregistre seulement la recette. Pour obtenir un résultat, tu dois appeler la fonction en écrivant son nom suivi de parenthèses contenant la valeur à traiter :
print(carre(5))
Python affiche 25. La valeur 5 est l'argument : elle est placée dans le paramètre x pendant l'exécution.
Paramètres et arguments
Un paramètre est le nom que la fonction donne à une valeur d'entrée dans sa définition. Un argument est la valeur réelle que tu fournis lors de l'appel. Dans carre(5), x est le paramètre et 5 l'argument. Cette distinction t'évite de confondre ce que l'on écrit une fois et ce qui change à chaque appel.
Une fonction peut avoir plusieurs paramètres, séparés par des virgules. L'exemple classique est le calcul du volume d'un cylindre à partir de ses dimensions, ou la somme des premiers entiers avec un seul paramètre.4 Pour le cylindre de rayon et de hauteur , le volume vaut :
from math import pi
def volume_cylindre(r, h):
return pi * r ** 2 * h
print(volume_cylindre(2, 5))
L'ordre des arguments compte : le premier va dans r, le second dans h. Appeler volume_cylindre(5, 2) donne un autre résultat, car le rayon serait alors 5 et la hauteur 2.
print ou return : ne pas confondre
C'est la confusion la plus courante au début. Les deux instructions semblent faire la même chose quand on regarde l'écran, mais leur rôle est très différent.
print(...)affiche une valeur pour la personne qui regarde l'écran. Cette valeur ne peut pas être réutilisée ensuite par le programme.return ...renvoie une valeur à l'endroit où la fonction a été appelée, et termine la fonction. Le programme peut la stocker, la calculer ou l'afficher plus tard.
Variables locales et portée
Cette règle est un avantage. Tu peux utiliser le même nom de variable dans deux fonctions différentes sans que l'une perturbe l'autre. Chaque fonction travaille dans son propre espace, comme chaque exercice d'un cahier a son brouillon.
Une fonction peut lire une variable globale, mais ce n'est pas une bonne habitude : elle dépendrait alors d'un élément extérieur et deviendrait difficile à tester. Préfère passer toutes les données par les paramètres. Python propose des mécanismes plus avancés pour modifier une variable d'un niveau supérieur, comme nonlocal, mais ils ne sont pas nécessaires à ton niveau.5
Fonctions avec conditions et boucles
Une fonction peut contenir tout ce que tu connais déjà : conditions, boucles, variables. Elle structure ton programme en morceaux courts, chacun avec une mission claire.1
Une fonction peut aussi en appeler une autre. C'est ainsi qu'on construit un programme progressivement : de petites fonctions simples, assemblées pour résoudre un problème plus grand.
def moyenne(a, b):
return (a + b) / 2
def ecart_a_la_moyenne(a, b):
return abs(a - moyenne(a, b))
Ici, ecart_a_la_moyenne s'appuie sur moyenne. Chaque fonction se teste séparément.
Utiliser les modules math et random
Tester, corriger et améliorer ses fonctions
Écrire une fonction ne suffit pas : il faut vérifier qu'elle fait ce que tu veux. Le programme te demande de savoir compléter, améliorer ou corriger un programme informatique.1 Cela revient à adopter quelques réflexes.
Exercices corrigés
Exercice 1 Volume d'un cylindre
On considère la fonction suivante.
from math import pi
def volume_cylindre(r, h):
return pi * r ** 2 * h
Le rayon est exprimé en cm, la hauteur en cm. On appelle volume_cylindre(3, 10). Quelle valeur renvoie la fonction, arrondie au centième ?
Indice 1
Remplace r par 3 et h par 10 dans la formule.
Indice 2
Calcule d'abord , puis multiplie par 10 et par .
Voir la correction pas à pas
Les arguments sont
r = 3eth = 10.La fonction calcule .
On a , donc .
Avec , on obtient .
La fonction renvoie environ cm³. Elle renvoie une valeur : pour la voir à l'écran, on écrit print(volume_cylindre(3, 10)).
Exercice 2 Somme des premiers entiers
On définit :
def somme(n):
total = 0
for k in range(1, n + 1):
total = total + k
return total
- Que renvoie
somme(3)? Suis l'exécution dans un tableau. - Que renvoie
somme(100)? Utilise la formule pour contrôler.
Indice 1
Pour la question 1, note la valeur de total après chaque tour de boucle.
Indice 2
Pour la question 2, ne refais pas 100 tours à la main : calcule .
Voir la correction pas à pas
Pour
n = 3,totalvaut 0 au départ, puis 1 pourk = 1, puis 3 pourk = 2, puis 6 pourk = 3.Donc
somme(3)renvoie 6.Pour
n = 100, la boucle additionne tous les entiers de 1 à 100.Formule de contrôle : .
Donc
somme(100)renvoie 5050.
somme(100) renvoie . Le résultat de la boucle et celui de la formule coïncident, ce qui confirme que la fonction est correcte.
Exercice 3 Prix toutes taxes comprises
Un commerçant vend un article 80 € hors taxes. La TVA est de 20 %.
- Écris une fonction
prix_ttc(prix_ht, taux)qui renvoie le prix toutes taxes comprises, avectauxexprimé en pourcentage. - Quelle valeur renvoie
prix_ttc(80, 20)? - Le programmeur a écrit
print(prix_ht * (1 + taux / 100))au lieu d'unreturn. Explique pourquoi cela pose problème si on écritprix_ttc(80, 20) + 5.
Indice 1
Augmenter de revient à multiplier par .
Indice 2
Rappelle-toi ce que renvoie une fonction qui n'a pas de return.
Voir la correction pas à pas
Une augmentation de 20 % revient à multiplier par .
La fonction s'écrit :
def prix_ttc(prix_ht, taux):puis, indentée,return prix_ht * (1 + taux / 100).Pour
prix_ttc(80, 20), on calcule .Avec
printà la place dereturn, la fonction affiche 96 mais renvoieNone.L'expression
prix_ttc(80, 20) + 5revient alors à additionnerNoneet 5, ce qui provoque une erreur.
Le prix toutes taxes comprises est de €. Pour réutiliser un résultat dans un autre calcul, la fonction doit le renvoyer avec return.
Exercice 4 Une fonction avec condition
Un parc de loisirs fixe le tarif d'entrée selon l'âge : 8 € si , 12 € si , et 9 € à partir de 65 ans. Un groupe comprend des personnes de 10, 30 et 70 ans.
- Écris une fonction
tarif(age)qui renvoie le prix d'une entrée. - Écris une fonction
total(a, b, c)qui reçoit les trois âges en paramètres séparés, et renvoie la somme des tarifs. - Calcule le prix total payé par le groupe.
Indice 1
Utilise if, elif et else, avec un return dans chaque cas.
Indice 2
Dans la seconde fonction, appelle tarif trois fois et additionne.
Voir la correction pas à pas
Première fonction :
def tarif(age):; siage < 12,return 8; sinon siage < 65,return 12; sinonreturn 9.Seconde fonction :
def total(a, b, c):puisreturn tarif(a) + tarif(b) + tarif(c).tarif(10)vaut 8, car 10 est inférieur à 12.tarif(30)vaut 12, car 30 est compris entre 12 et 64.tarif(70)vaut 9, car 70 est supérieur ou égal à 65.Le total est euros.
Le groupe paie €. Chaque cas de la condition se termine par un return, et la seconde fonction s'appuie sur la première au lieu de recopier ses tests.
Quiz
7 questions · correction immédiate · ton score reste sur ton appareil.
-
La définition commence par
def, suivi du nom, des parenthèses et du deux-points.4functionexiste dans d'autres langages mais pas en Python.returnne définit rien : il sert à renvoyer une valeur depuis le corps de la fonction. -
L'argument 3 remplace
x: . L'erreur tentante est de répondre 6, en oubliant d'ajouter 1, ou 8, en calculant au lieu de respecter la priorité de la multiplication. -
printmontre la valeur à l'écran, tandis quereturnla transmet au programme, qui peut s'en servir dans un calcul. La deuxième proposition inverse les rôles. La troisième est fausse : une fonction qui affiche seulement renvoieNone, et on ne peut alors rien calculer avec. -
Sans
return, la fonction s'exécute, puis rendNoneà l'endroit de l'appel. L'erreur tentante est de croire qu'elle renvoie la dernière valeur calculée ou affichée : ce n'est pas le cas. -
yest créée dansg: elle disparaît quand la fonction se termine, doncprint(y)échoue. Il serait faux de penser que les deux lignes affichent 5 : cela supposerait queyexiste en dehors de la fonction. Le programme affiche bien quelque chose, puisqueg(4)est appelée dans unprint. -
L'écriture
from math import piimporte seulement ce dont on a besoin, ce qui est la bonne habitude.4import pi from mathest une syntaxe d'un autre langage, et les deux dernières propositions n'existent pas en Python.
Les questions qu'on se pose
Quelle est la différence entre un paramètre et un argument ?
Le paramètre est le nom écrit dans la définition, par exemple x dans def carre(x):. L'argument est la valeur donnée lors de l'appel, par exemple 5 dans carre(5). Pendant l'exécution, l'argument est placé dans le paramètre. Dans la pratique, on emploie parfois les deux mots l'un pour l'autre, mais retiens la nuance : l'un est le nom, l'autre est la valeur.
Pourquoi ma fonction n'affiche rien alors qu'il n'y a pas d'erreur ?
Deux causes sont fréquentes. Soit tu as défini la fonction sans jamais l'appeler : écris par exemple print(carre(5)). Soit ta fonction contient un return mais aucun print : return renvoie la valeur sans l'afficher, et c'est à l'appel de l'afficher. Vérifie ces deux points avant de chercher plus loin.
Comment savoir si je dois écrire un return ou un print ?
Pose-toi la question : le résultat sera-t-il réutilisé dans un autre calcul ? Si oui, utilise return. Si le but est seulement de montrer un message ou une valeur, print convient. En cas de doute, fais renvoyer le résultat par la fonction et affiche-le à l'extérieur avec print(ma_fonction(...)). Ainsi la fonction reste réutilisable.
À quoi servent les fonctions si je peux tout écrire sans ?
Une fonction évite de recopier le même code, rend le programme plus lisible et permet de corriger une erreur à un seul endroit. Le programme de première technologique demande d'ailleurs de structurer un programme en ayant recours aux fonctions.1 Plus tes programmes grossiront, plus cet avantage sera net.
Une fonction peut-elle ne pas avoir de paramètre ?
Oui. Les parenthèses restent obligatoires, vides, à la définition comme à l'appel. Un exemple est def lancer_de(): qui renvoie un entier au hasard avec randint(1, 6). Chaque appel lancer_de() peut alors donner un résultat différent.
Pourquoi Python me signale-t-il une erreur d'indentation ?
Python se sert du décalage des lignes pour savoir ce qui appartient à la fonction. Si une ligne du corps n'est pas décalée comme les autres, ou si tu mélanges espaces et tabulations, il s'arrête. Utilise le même décalage, en général quatre espaces, pour toutes les lignes du corps. Une indentation soignée aide aussi à repérer les erreurs.5
Sources
Programme visé : Programme de mathématiques de la classe de première de la voie technologique · Ministère de l'Éducation nationale
- Programme de mathématiques de la classe de première de la voie technologique, Ministère de l'Éducation nationale. Consulté le 11 novembre 2026.
- Programmes et ressources en mathématiques - voie générale et technologique, Éduscol (Ministère de l'Éducation nationale). Consulté le 11 novembre 2026.
- Algorithmique et programmation — Ressources pour les mathématiques, Éduscol. Consulté le 11 novembre 2026.
- Travail dans l'éditeur et la console avec glossaire PYTHON, Académie de Bordeaux. Consulté le 11 novembre 2026.
- Python (langage), Wikipédia. Consulté le 11 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.