Aller au contenu

Mathématiques · Première technologiqueÉpreuve anticipée de mathématiques

Fonctions en Python : exercices corrigés de 1re technologique

Publié le 11 novembre 2026 · Mis à jour le 11 novembre 2026 · Signaler une erreur

L'essentiel

  • Une fonction se définit avec def, un nom et une liste de paramètres ; le corps est indenté.4
  • return renvoie une valeur utilisable ailleurs ; print affiche seulement un texte à l'écran.
  • Définir une fonction ne l'exécute pas : il faut l'appeler avec des valeurs pour ses paramètres.
  • Une fonction peut contenir des conditions et des boucles ; on teste toujours avec une valeur dont on connaît le résultat.
  • On importe uniquement ce dont on a besoin, par exemple pi depuis le module math.4

Comment utiliser ces exercices

Au lycée, le langage de programmation retenu en mathématiques est Python.3 Le programme demande de savoir écrire une fonction simple, de compléter ou corriger un programme, et de structurer un programme à l'aide de fonctions.1 Les exercices ci-dessous t'entraînent à ces trois gestes, du plus facile au plus complet.

Tu peux les faire sur ordinateur, sur ta calculatrice compatible Python ou sur papier. Sur papier, l'essentiel est de bien soigner l'indentation et de calculer à la main le résultat attendu avant de conclure.

Les exercices

Exercice 1 Le carré d'un nombre

★☆☆Environ 5 min

On considère le programme suivant :

def carre(x):
    return x * x
  1. Quel est le nom de la fonction ? Quel est son paramètre ?
  2. Que renvoie l'appel carre(7) ?
  3. Que renvoie l'appel carre(-3) ?

Donne comme réponse finale la valeur de carre(7).

Indice 1

Remplace x par 7 dans l'expression qui suit return.

Indice 2

Un nombre négatif multiplié par lui-même donne un résultat positif.

Voir la correction pas à pas
  1. La première ligne est def carre(x):. Le nom de la fonction est donc carre et son paramètre est x.

  2. Pour carre(7), Python remplace x par 7 : il calcule 7×7=497 \times 7 = 49 et renvoie 49.

  3. Pour carre(-3), il calcule (−3)×(−3)=9(-3) \times (-3) = 9 et renvoie 9.

  4. La réponse finale est donc 49.

Le paramètre est une variable qui prend la valeur donnée lors de l'appel. Le même code sert pour autant de valeurs que tu veux.

Exercice 2 Une fonction affine

★☆☆Environ 6 min

Écris en Python une fonction f qui, à un nombre x, associe f(x)=3x−5f(x) = 3x - 5. Calcule ensuite la valeur renvoyée par f(4).

Indice 1

Il faut un paramètre x et une ligne return.

Indice 2

N'oublie pas le signe * entre 3 et x.

Voir la correction pas à pas
  1. On écrit la première ligne : def f(x):.

  2. On écrit le corps, indenté : return 3 * x - 5.

  3. Pour l'appel f(4), on remplace x par 4 : 3×4−5=12−5=73 \times 4 - 5 = 12 - 5 = 7.

  4. La fonction renvoie donc 7.

Une fonction Python reproduit une fonction mathématique : le paramètre joue le rôle de la variable xx et return donne l'image.

Exercice 3 Prix toutes taxes comprises

★☆☆Environ 8 min

Un magasin affiche des prix hors taxes. On veut calculer le prix toutes taxes comprises avec la fonction :

def ttc(ht, taux):
    return ht * (1 + taux / 100)
  1. Combien de paramètres cette fonction a-t-elle ? Que représentent-ils ?
  2. Quelle valeur renvoie ttc(80, 20) ?

Donne comme réponse finale le prix obtenu.

Indice 1

Pour un taux de 20 %, on calcule 1 + 20 / 100.

Indice 2

Calcule d'abord la parenthèse, puis multiplie par le prix hors taxes.

Voir la correction pas à pas
  1. La fonction a deux paramètres : ht, le prix hors taxes, et taux, le pourcentage de taxe.

  2. Pour l'appel ttc(80, 20), ht vaut 80 et taux vaut 20.

  3. On calcule la parenthèse : 1+20100=1,21 + \frac{20}{100} = 1{,}2.

  4. On multiplie : 80×1,2=9680 \times 1{,}2 = 96.

  5. Le prix toutes taxes comprises est 96 euros.

Quand une fonction a plusieurs paramètres, l'ordre compte : le premier nombre de l'appel va dans le premier paramètre, le second dans le second.

Exercice 4 Le volume d'un cylindre

★★☆Environ 10 min

Écris une fonction volume_cylindre(r, h) qui renvoie le volume d'un cylindre de rayon r et de hauteur h, sachant que V=πr2hV = \pi r^2 h. Utilise la valeur de π\pi du module math.

Quel volume obtient-on pour un rayon de 3 cm et une hauteur de 10 cm ? Donne la valeur arrondie au centième.

Indice 1

Commence le programme par from math import pi.

Indice 2

Le carré de r s'écrit r**2.

Voir la correction pas à pas
  1. On importe la seule valeur utile : from math import pi.

  2. On écrit def volume_cylindre(r, h): puis, indenté, return pi * r**2 * h.

  3. Pour volume_cylindre(3, 10), on calcule π×32×10=90π\pi \times 3^2 \times 10 = 90\pi.

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

  5. Le volume est d'environ 282,74 cm³.

Importer pi évite de recopier une valeur approchée à la main, ce qui limite les erreurs d'arrondi dans les calculs.

Exercice 5 Somme des premiers entiers

★★☆Environ 12 min

On veut calculer la somme 1+2+3+⋯+n1 + 2 + 3 + \dots + n. On propose :

def somme(n):
    s = 0
    for k in range(1, n + 1):
        s = s + k
    return s
  1. Pourquoi écrit-on range(1, n + 1) et non range(1, n) ?
  2. Que contient s à la fin de la boucle pour n = 4 ?
  3. Quelle valeur renvoie somme(100) ?
Indice 1

La borne de fin dans range n'est jamais atteinte.

Indice 2

Déroule la boucle à la main pour n = 4 : s vaut 0, puis 1, puis 3, ...

Indice 3

Pour la dernière question, tu peux aussi calculer à la main avec la formule n(n+1)2\frac{n(n+1)}{2}.

Voir la correction pas à pas
  1. Dans range(1, n + 1), la valeur finale n + 1 est exclue : k prend donc les valeurs de 1 à n. Avec range(1, n), on oublierait n.

  2. Pour n = 4, s prend successivement les valeurs 0, 1, 3, 6, puis 10. Elle contient 10 à la fin.

  3. Pour n = 100, on additionne les entiers de 1 à 100.

  4. On vérifie avec la formule : 100×1012=5050\frac{100 \times 101}{2} = 5050.

  5. La fonction renvoie 5050.

Le schéma « on part de 0, on ajoute à chaque tour, on renvoie à la fin » se retrouve dans de très nombreux programmes de sommes.

Exercice 6 Trouver et corriger l'erreur

★★☆Environ 10 min

Un élève écrit le programme suivant pour calculer l'aire d'un rectangle de longueur L et de largeur l :

def aire_rectangle(L, l):
    aire = L * l
    print(aire)

double_aire = aire_rectangle(5, 3) * 2

Python affiche 15, puis signale une erreur sur la dernière ligne.

  1. Explique pourquoi l'erreur apparaît.
  2. Corrige la fonction pour que double_aire vaille 30.
Indice 1

Demande-toi ce que la fonction renvoie vraiment à la fin de son exécution.

Indice 2

Quelle instruction permet de transmettre une valeur à la ligne qui a appelé la fonction ?

Voir la correction pas à pas
  1. La fonction calcule l'aire et l'affiche avec print, mais elle ne contient pas de return.

  2. Sans return, l'appel aire_rectangle(5, 3) ne fournit aucune valeur utilisable : on ne peut pas la multiplier par 2, d'où l'erreur.

  3. On remplace print(aire) par return aire, ou plus simplement par return L * l.

  4. Avec cette correction, aire_rectangle(5, 3) vaut 15, et double_aire vaut 15×2=3015 \times 2 = 30.

  5. Si on veut voir le résultat à l'écran, on l'affiche à l'extérieur : print(double_aire).

print sert à montrer un résultat à l'utilisateur ; return sert à le confier au reste du programme. Une fonction de calcul doit presque toujours utiliser return.

Exercice 7 Compter les multiples de 3

★★★Environ 15 min

Écris une fonction nb_multiples(n) qui renvoie le nombre d'entiers compris entre 1 et n (inclus) divisibles par 3. On rappelle que k % 3 == 0 signifie que le reste de la division de k par 3 est nul.

Quelle valeur renvoie nb_multiples(50) ?

Indice 1

Utilise un compteur initialisé à 0 avant la boucle.

Indice 2

Dans la boucle, une instruction if décide s'il faut augmenter le compteur.

Voir la correction pas à pas
  1. On écrit def nb_multiples(n): puis on initialise un compteur : c = 0.

  2. On parcourt les entiers de 1 à n : for k in range(1, n + 1):.

  3. À chaque tour, on teste if k % 3 == 0: et, si c'est vrai, on écrit c = c + 1.

  4. Après la boucle, on écrit return c, au même niveau d'indentation que le for.

  5. Pour n = 50, les multiples de 3 sont 3, 6, ..., 48, c'est-à-dire 3×13 \times 1 jusqu'à 3×163 \times 16.

  6. La fonction renvoie donc 16.

Ce programme réunit les outils déjà connus (variable, boucle, condition) et les range dans une fonction, réutilisable pour n'importe quelle valeur de n.

Exercice 8 Un placement sur plusieurs années

★★★Environ 15 min

Un capital placé rapporte chaque année un pourcentage de son montant, qui s'ajoute au capital. On écrit :

def capital(c0, taux, n):
    c = c0
    for i in range(n):
        c = c * (1 + taux / 100)
    return round(c, 2)
  1. Que représentent c0, taux et n ?
  2. Combien de fois la boucle s'exécute-t-elle pour n = 5 ?
  3. Quelle valeur renvoie capital(1000, 2, 5) ? Donne le résultat arrondi au centième, en euros.
Indice 1

Chaque tour de boucle multiplie le capital par le même coefficient.

Indice 2

range(n) fait exactement n tours.

Voir la correction pas à pas
  1. c0 est le capital de départ, taux le pourcentage de gain par an et n le nombre d'années.

  2. range(5) donne 5 valeurs (0 à 4) : la boucle s'exécute donc 5 fois.

  3. Chaque tour multiplie c par 1+2100=1,021 + \frac{2}{100} = 1{,}02.

  4. Au bout de 5 tours, on obtient 1000×1,025≈1104,08081000 \times 1{,}02^5 \approx 1104{,}0808.

  5. La fonction arrondit au centième : elle renvoie 1104,08 euros.

La boucle répète la même opération autant de fois que nécessaire, et la fonction rend le programme réutilisable avec d'autres capitaux, d'autres taux et d'autres durées.

Les questions qu'on se pose

Quelle est la différence entre print et return ?

print affiche une valeur à l'écran, mais cette valeur n'est pas transmise au reste du programme. return termine la fonction et renvoie une valeur que l'on peut stocker dans une variable ou utiliser dans un calcul. Si tu veux réutiliser le résultat (par exemple le multiplier par 2), il te faut return. Dans Python 3, print est une fonction et s'écrit avec des parenthèses.5

Pourquoi rien ne se passe quand je lance mon programme avec seulement def ?

Écrire def ne fait que définir la fonction : Python mémorise sa description, sans l'exécuter. Pour qu'elle travaille, il faut l'appeler en lui donnant des valeurs, par exemple carre(7), et afficher le résultat avec print(carre(7)). Dans l'éditeur, la définition se place avant les appels, et le corps de la fonction doit être indenté.

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