Le module math

2.6 Le module math

Objectifs d'apprentissage

À la fin de cette section, vous devriez être capable de :

  • Distinguer les fonctions intégrées des fonctions mathématiques.
  • Utiliser les fonctions et les constantes définies dans le module math.

Importer des modules

Python est fourni avec une vaste bibliothèque standard de modules. Un module est du code préalablement écrit qui peut être importé dans un programme. L'instruction import (import statement) définit une variable permettant d'accéder au code d'un module. Les instructions import apparaissent souvent au début d'un programme.

La bibliothèque standard définit également des fonctions intégrées telles que print(), input() et float(). Une fonction intégrée (built-in function) est toujours disponible et n'a pas besoin d'être importée. La liste complète des fonctions intégrées est disponible dans la documentation officielle de Python.

Un module fréquemment utilisé de la bibliothèque standard est le module math. Ce module définit des fonctions telles que sqrt() (racine carrée). Pour appeler sqrt(), un programme doit exécuter import math et utiliser la variable math résultante suivie d'un point. Ex. : math.sqrt(25) s'évalue à 5.0.

Le programme suivant importe et utilise le module math, et fait appel à des fonctions intégrées pour les entrées et les sorties.

Exemple 2.1

Calcul de la distance entre deux points

    import math
    
    x1 = float(input("Enter x1: "))
    y1 = float(input("Enter y1: "))
    x2 = float(input("Enter x2: "))
    y2 = float(input("Enter y2: "))
    
    distance = math.sqrt((x2-x1)**2 + (y2-y1)**2)
    print("The distance is", distance)

Faites le point

Importer math dans un interpréteur interactif Python

Concepts en pratique

Fonctions intégrées et module math

1.
Dans l'exemple ci-dessus, lors de l'évaluation de math, pourquoi l'interpréteur a-t-il levé une NameError ?
  1. Le module math n'était pas disponible.
  2. La variable pie était mal orthographiée.
  3. Le module math n'a pas été importé.
2.
Laquelle de ces fonctions est intégrée et ne nécessite pas d'être importée ?
  1. log()
  2. round()
  3. sqrt()
3.
Quelle expression provoque une erreur ?
  1. math.abs(1)
  2. math.log(1)
  3. math.sqrt(1)

Fonctions mathématiques

Les fonctions et constantes mathématiques couramment utilisées sont présentées ci-dessous. La liste complète du module math est disponible dans la documentation officielle de Python.

Constante Valeur Description

math.e

e=2.71828…e=2.71828… Nombre d'Euler : la base du logarithme népérien.

math.pi

π=3.14159…π=3.14159… Le rapport entre la circonférence et le diamètre d'un cercle.

math.tau

τ=6.28318…τ=6.28318… Le rapport entre la circonférence et le rayon d'un cercle. Tau est égal à 2π.
Tableau 2.3 Exemples de constantes dans le module math.
Fonction Description Exemples
Théorie des nombres

math.ceil(x)

Le plafond de x : le plus petit entier supérieur ou égal à x.

math.ceil(7.4) →→ 8
math.ceil(-7.4) →→ -7

math.floor(x)

Le plancher de x : le plus grand entier inférieur ou égal à x.

math.floor(7.4) →→ 7
math.floor(-7.4) →→ -8

Puissances et logarithmes

math.log(x)

Le logarithme népérien de x (en base e).

math.log(math.e) →→ 1.0
math.log(0) →→ ValueError: math domain error

math.log(x, base)

Le logarithme de x dans la base spécifiée.

math.log(8, 2) →→ 3.0
math.log(10000, 10) →→ 4.0

math.pow(x, y)

x élevé à la puissance y. Contrairement à l'opérateur **, math.pow() convertit x et y au type float.

math.pow(3, 0) →→ 1.0
math.pow(3, 3) →→ 27.0

math.sqrt(x)

La racine carrée de x.

math.sqrt(9) →→ 3.0
math.sqrt(-9) →→ ValueError: math domain error

Trigonométrie

math.cos(x)

Le cosinus de x radians.

math.cos(0) →→ 1.0
math.cos(math.pi) →→ -1.0

math.sin(x)

Le sinus de x radians.

math.sin(0) →→ 0.0
math.sin(math.pi/2) →→ 1.0

math.tan(x)

La tangente de x radians.

math.tan(0) →→ 0.0
math.tan(math.pi/4) →→ 0.999
(Erreur d'arrondi ; le résultat devrait être 1.0.)

Tableau 2.4 Exemples de fonctions dans le module math.

Concepts en pratique

Utiliser des fonctions et des constantes mathématiques

4.
Quelle est la valeur de math.tau/2 ?
  1. environ 2.718
  2. environ 3.142
  3. environ 6.283
5.
Quelle est la valeur de math.sqrt(100) ?
  1. le float 10.0
  2. l'entier 10
  3. ValueError: math domain error
6.
Que vaut πr2 en syntaxe Python ?
  1. pi * r**2
  2. math.pi * r**2
  3. math.pi * r*2
7.
Quelle expression renvoie l'entier 27 ?
  1. 3 ** 3
  2. 3.0 ** 3
  3. math.pow(3, 3)

À vous d'essayer

Formule quadratique

En algèbre, une équation quadratique s'écrit sous la forme ax2+bx+c=0ax2+bx+c=0. Les coefficients a, b et c sont des valeurs connues. La variable x représente une valeur inconnue. Ex. : 2x2+3x−5=02x2+3x−5=0 possède les coefficients a=2a=2, b=3b=3 et c=−5c=−5. La formule quadratique fournit une méthode simple et rapide pour déterminer x dans une équation quadratique :

x= −b± b 2 −4ac 2a x= −b± b 2 −4ac 2a



Le symbole plus ou moins indique que l'équation possède deux solutions. Cependant, Python ne dispose pas d'opérateur plus ou moins. Pour appliquer cette formule en Python, il faut la scinder en deux :

x 1 = −b+ b 2 −4ac 2a x 1 = −b+ b 2 −4ac 2a
x 2 = −b− b 2 −4ac 2a x 2 = −b− b 2 −4ac 2a



Écrivez le code de la formule quadratique dans le programme ci-dessous. Testez votre programme en utilisant les valeurs suivantes pour a, b et c :

Entrées fournies Sorties attendues
a
b
c
x1
x2
1
0
-4
2.0
-2.0
1
2
-3
1.0
-3.0
2
1
-1
0.5
-1.0
0
1
1
division by zero
1
0
1
math domain error
Tableau 2.5

À vous d'essayer

Formules relatives au cylindre

En géométrie, l'aire totale et le volume d'un cylindre circulaire droit peuvent être calculés comme suit :

A=2πrh+2π r 2 A=2πrh+2π r 2


V=π r 2 h V=π r 2 h


Écrivez le code de ces deux formules dans le programme ci-dessous. Indication : votre solution doit utiliser à la fois math.pi et math.tau. Testez votre programme en utilisant les valeurs suivantes pour r et h :

Entrées fournies Sorties attendues
r
h
area
volume
0
0
0.0
0.0
1
1
12.57
3.14
1
2
18.85
6.28
2.5
4.8
114.67
94.25
3.1
7.0
196.73
211.33
Tableau 2.6

Si vous obtenez une erreur, essayez de rechercher ce qu'elle signifie.