Aller au contenu

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 avec return.
  • Définir une fonction ne l'exécute pas : il faut l'appeler avec des arguments, par exemple f(3).
  • print affiche à l'écran, return donne 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 math et random.

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 ff transforme un nombre xx en un nombre f(x)f(x). 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

Les cinq éléments d'une fonctionCinq étapes qui décrivent la définition et l'appel d'une fonction Python, du mot-clé def à l'appel avec un argument.1Mot-clé defOn annonce qu'on définit une fonction.2Nom et paramètresLe nom, puis les paramètres entre parenthèses.3Deux-pointsIls terminent la ligne d'en-tête.4Corps indentéLes instructions décalées, dont le return.5AppelOn écrit le nom avec un argument : carre(5).
  1. Mot-clé defOn annonce qu'on définit une fonction.
  2. Nom et paramètresLe nom, puis les paramètres entre parenthèses.
  3. Deux-pointsIls terminent la ligne d'en-tête.
  4. Corps indentéLes instructions décalées, dont le return.
  5. AppelOn écrit le nom avec un argument : carre(5).
Les cinq éléments d'une fonction · Structure d'une fonction Python et de son appel.

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 nn premiers entiers avec un seul paramètre.4 Pour le cylindre de rayon rr et de hauteur hh, le volume vaut V=πr2hV=\pi r^2 h :

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

Python contient déjà de nombreuses fonctions prêtes à l'emploi, rangées dans des bibliothèques ou modules. Au début, on utilise surtout math et random.4 Pour connaître le contenu d'un module, on peut écrire import math puis dir(math).4

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

★☆☆Environ 8 min

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 323^2, puis multiplie par 10 et par π\pi.

Voir la correction pas à pas
  1. Les arguments sont r = 3 et h = 10.

  2. La fonction calcule π×32×10\pi \times 3^2 \times 10.

  3. On a 32=93^2 = 9, donc π×9×10=90π\pi \times 9 \times 10 = 90\pi.

  4. Avec π≈3,14159\pi \approx 3{,}14159, on obtient 90π≈282,7490\pi \approx 282{,}74.

La fonction renvoie environ 282,74282{,}74 cm³. Elle renvoie une valeur : pour la voir à l'écran, on écrit print(volume_cylindre(3, 10)).

Exercice 2 Somme des premiers entiers

★★☆Environ 12 min

On définit :

def somme(n):
    total = 0
    for k in range(1, n + 1):
        total = total + k
    return total
  1. Que renvoie somme(3) ? Suis l'exécution dans un tableau.
  2. Que renvoie somme(100) ? Utilise la formule n(n+1)2\frac{n(n+1)}{2} 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 100×1012\frac{100\times101}{2}.

Voir la correction pas à pas
  1. Pour n = 3, total vaut 0 au départ, puis 1 pour k = 1, puis 3 pour k = 2, puis 6 pour k = 3.

  2. Donc somme(3) renvoie 6.

  3. Pour n = 100, la boucle additionne tous les entiers de 1 à 100.

  4. Formule de contrôle : 100×1012=101002=5050\frac{100\times101}{2}=\frac{10100}{2}=5050.

  5. Donc somme(100) renvoie 5050.

somme(100) renvoie 50505050. 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

★★☆Environ 12 min

Un commerçant vend un article 80 € hors taxes. La TVA est de 20 %.

  1. Écris une fonction prix_ttc(prix_ht, taux) qui renvoie le prix toutes taxes comprises, avec taux exprimé en pourcentage.
  2. Quelle valeur renvoie prix_ttc(80, 20) ?
  3. Le programmeur a écrit print(prix_ht * (1 + taux / 100)) au lieu d'un return. Explique pourquoi cela pose problème si on écrit prix_ttc(80, 20) + 5.
Indice 1

Augmenter de t %t\ \% revient à multiplier par 1+t1001+\frac{t}{100}.

Indice 2

Rappelle-toi ce que renvoie une fonction qui n'a pas de return.

Voir la correction pas à pas
  1. Une augmentation de 20 % revient à multiplier par 1+20100=1,21+\frac{20}{100}=1{,}2.

  2. La fonction s'écrit : def prix_ttc(prix_ht, taux): puis, indentée, return prix_ht * (1 + taux / 100).

  3. Pour prix_ttc(80, 20), on calcule 80×1,2=9680 \times 1{,}2 = 96.

  4. Avec print à la place de return, la fonction affiche 96 mais renvoie None.

  5. L'expression prix_ttc(80, 20) + 5 revient alors à additionner None et 5, ce qui provoque une erreur.

Le prix toutes taxes comprises est de 9696 €. Pour réutiliser un résultat dans un autre calcul, la fonction doit le renvoyer avec return.

Exercice 4 Une fonction avec condition

★★★Environ 15 min

Un parc de loisirs fixe le tarif d'entrée selon l'âge aa : 8 € si a<12a<12, 12 € si 12≤a<6512 \le a < 65, et 9 € à partir de 65 ans. Un groupe comprend des personnes de 10, 30 et 70 ans.

  1. Écris une fonction tarif(age) qui renvoie le prix d'une entrée.
  2. É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.
  3. 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
  1. Première fonction : def tarif(age): ; si age < 12, return 8 ; sinon si age < 65, return 12 ; sinon return 9.

  2. Seconde fonction : def total(a, b, c): puis return tarif(a) + tarif(b) + tarif(c).

  3. tarif(10) vaut 8, car 10 est inférieur à 12.

  4. tarif(30) vaut 12, car 30 est compris entre 12 et 64.

  5. tarif(70) vaut 9, car 70 est supérieur ou égal à 65.

  6. Le total est 8+12+9=298+12+9=29 euros.

Le groupe paie 2929 €. 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.

  1. Quel mot-clé sert à définir une fonction en Python ?

  2. On définit def f(x): return 2 * x + 1. Quelle valeur affiche print(f(3)) ?

  3. Quelle différence y a-t-il entre print(x) et return x dans une fonction ?

  4. Une fonction qui ne contient aucune instruction return renvoie la valeur spéciale None.

  5. On exécute :

    def g(x):
        y = x + 1
        return y
    
    print(g(4))
    print(y)
    

    Que se passe-t-il ?

  6. Quelle ligne permet d'utiliser le nombre π\pi du module math sans importer tout le module ?

  7. Pourquoi écrit-on print(f(3)) avec des parenthèses autour de l'argument de print ?

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

  1. 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.
  2. Programmes et ressources en mathématiques - voie générale et technologique, Éduscol (Ministère de l'Éducation nationale). Consulté le 11 novembre 2026.
  3. Algorithmique et programmation — Ressources pour les mathématiques, Éduscol. Consulté le 11 novembre 2026.
  4. Travail dans l'éditeur et la console avec glossaire PYTHON, Académie de Bordeaux. Consulté le 11 novembre 2026.
  5. 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.

Signaler une erreur sur cette page

Je suis en…

Primaire

  • CP Bientôt
  • CE1 Bientôt
  • CE2
  • CM1
  • CM2 Bientôt

Collège

Lycée

Supérieur

  • BTS Bientôt
  • BUT Bientôt
  • Licence Bientôt
  • Prépas Bientôt

Sur cette page