Aller au contenu

Les fonctions mathématiques

Contenus de la section

2-2 Traitements de données

Manipulation de nombres

Temps requis

15 minutes


Les paquets

Python est divisé en paquets. Le langage de base en comporte un certain nombre, mais nous nous retrouvons rapidement limités. Les paquets sont des bouts de code créés par d'autres programmeurs que l'on peut importer dans notre code pour avoir accès à des fonctions supplémentaires.

Voir la page d'installation de paquet pour voir les procédures possibles d'isntallation.

Importer un paquet

Pour importer les fonctionnalités d'un paquet vers notre fichier, il faut utiliser l'instruction #!import. Cette instruction a différentes variations selon le résultat recherché.

Importer des paquet
# Importation de tout le contenu du module random (génération aléatoire)
import random                   # Permet de travailler avec le module random
valeur = random.randint(1, 5)   # Génère un nombre entier aléatoire entre 1 et 5

# Importation d'une fonction spécifique
from random import randint      # Permet de travailler avec la fonction randint du module random
valeur = randint(1, 5)          # Génère un nombre entier aléatoire entre 1 et 5

# Importation d'une fonction spécifique
from random import randint, random      # Permet de travailler avec les fonctions randint et random du module random
valeur_entiere = randint(1, 5)          # Génère un nombre entier aléatoire entre 1 et 5
valeur_continue = random()              # Génère un nombre décimal aléatoire entre 0 et 1

# Importation d'un module avec un alias
import random as rand           # Permet de travailler avec le module random
valeur = rand.randint(1, 5)   # Génère un nombre entier aléatoire entre 1 et 5

# Importation d'une fonction avec un alias
from random import randint as entier_alea      # Permet de travailler avec la fonction randint du module random
valeur = entier_alea(1, 5)                     # Génère un nombre entier aléatoire entre 1 et 5

Instruction d'importation

Les instructions pour importer d'autres fichiers sont toujours les premières (avant la déclaration des fonctions).

Pourquoi importer juste une fonction plutôt que toujours tout le contenu du module ?

Pour éviter les collisions de noms. Si deux modules déclarent une fonction de même nom, on peut les distinguer si l'on doit préfixer l'appel du nom du module. Sans cette distinction, Python ne saura laquelle des versions appeler.

La génération aléatoire

Section 2.1

Comme vu dans l'exemple précédent, la génération aléatoire se fait avec le module random. Trois fonctions sont utilisées pour générer des nombres, soit la fonction randint pour des nombres entiers et les fonctions random pour une valeur décimale (float) et uniform.

La fonction randint

La fonction randint retourne un nombre aléatoire entier entre deux bornes incluses.

Paramètre Type Description
a Entier La valeur minimale de l'intervalle de génération
b Entier La valeur minimale de l'intervalle de génération
Retour Entier Un nombre N tel que \(a \leq N \leq b\)

La fonction random

La fonction random retourne un nombre aléatoire entre 0 (inclus) et 1 (exclus). Elle n'accepte aucun paramètre.

La fonction uniform

La fonction uniform retourne un nombre aléatoire avec virgule flottante entre deux bornes incluses.

Paramètre Type Description
a Nombre à virgule La valeur minimale de l'intervalle de génération
b Nombre à virgule La valeur minimale de l'intervalle de génération
Retour Nombre à virgule Un nombre N tel que \(a \leq N \leq b\)

Lancer un dé

Par exemple, pour simuler le lancer d'un dé à six faces, le code serait le suivant :

Lancer d'un dé
from random import randint 
de = randint(1, 6)

La documentation de random

La documentation officielle du paquet random présente toutes les fonctions de génération aléatoire du paquet.

Les fonctions mathématiques

Section 2.2

Les fonctions mathématiques sont pour leur part définies dans le paquet numpy.

On y retrouve d'abord les deux constantes universelle \(\pi\) et \(e\).

Constante Expression Valeur
\(\pi\) numpy.pi 3.141592653589793
\(e\) numpy.e 2.718281828459045

L'aire d'un disque

Pour calculer l'aire d'un disque de rayon 2 avec toute la précision possible en Python, on peut utiliser le code suivant :

Aire d'un disque
1
2
3
from numpy import pi
rayon = 2
aire_disque = pi * rayon **2

Le paquet numpy définit aussi plusieurs fonctions mathématiques usuelles. Elles s'utilisent toutes de la même manière, soit en indiquant le nombre en paramètre sur lequel appliquer la fonction. Le résultat de l'application de la fonction est retourné par la fonction.

Les fonctions disponibles sont les suivantes :

Traitement mathématique Nom de la fonction Exemple d'utilisation
Racine carrée sqrt racine = numpy.sqrt(4) # Retourne 2
Exponentielle exp puissance = numpy.exp(2) # Équivalent à numpy.e ** 2
Logarithme naturel log exposant = numpy.log(4) # Équivalent à ln(4)
Logarithme en base 2 ou 10 log2 ou log10 exposant = numpy.log2(8) # Retourne 3
Conversion de degres en radians deg2rad ou radians rad = numpy.deg2rad(180) # Retourne 3.1415...
Conversion de radians en degres rad2deg ou degrees rad = numpy.rad2deg(numpy.pi) # Retourne 180.0
Fonctions trigonométriques (angle en radians) sin, cos, tan y = numpy.sin(numpy.pi / 4) # Retourne 0.7071...
Fonctions trigonométriques inverses (retourne des radians) arcsin, arccos, arctan angle = numpy.arccos(.5) # Retourne 1.047...

Exercices

Page 41 et suivantes

Recommandés : 2.1, 2.3, 2.4, 2.5, 2.6

La documentation de numpy

La documentation officielle du paquet numpy présente toutes les fonctions mathématiques du paquet.