Le module mathématique en Python : 6 calculs courants que vous pouvez effectuer
Liens rapides
- Constantes
- Fonctions trigonométriques
- Fonctions logarithmiques et exponentielles
- Calculs numériques
- Sommes et Produits
- Fonctions combinatoires
C'est une blague courante de dire que Python fait un excellent calculateur en mode interactif. Vous pouvez en faire un encore meilleur grâce au module math intégré, qui contient de nombreuses fonctions mathématiques que l'on trouve sur une calculatrice scientifique ou graphique portable.
Constantes
Une fonctionnalité utile du module math de Python est l'accès rapide aux constantes mathématiques. Vous pouvez rendre Python plus efficace en tant que calculatrice scientifique en utilisant ces mêmes fonctions avec des approximations numériques. La plus célèbre pourrait être pi (3,14159, etc.). Vous n'avez pas besoin de mémoriser tous les chiffres. Python le fera pour vous.
Appelons pi pour calculer la surface d'un cercle. Supposons que nous ayons une pizza de 12 pouces et que nous voulions savoir quelle quantité de pizza nous avons réellement en termes de surface.
Tout d'abord, nous allons importer la bibliothèque mathématique :
import math
Nous allons stocker le rayon dans une variable. Le rayon est la moitié du diamètre d'un cercle, donc une pizza de 12 pouces a un rayon de 6 pouces.
radius = 6
La formule pour l'aire d'un cercle est pi multiplié par le carré du rayon. En Python, cela serait :
area_circ = math.pi * radius**2
Les doubles astérisques sont utilisés pour représenter les exposants en Python.
Le résultat est qu'une pizza ronde de 12 pouces a environ 113 pouces carrés de pizza réelle. C'est pourquoi vous devriez commander une pizza plus grande, selon NPR.
Une autre constante courante que vous pouvez utiliser avec Python est e, ou 2,718281828459045. Il s'agit de la base du logarithme naturel et elle est couramment utilisée pour la croissance exponentielle, comme l'intérêt composé.
Supposons que vous souhaitez investir 5 000 $composés en continu à un taux d'intérêt de deux pour cent pendant 5 ans. La formule est le capital multiplié par e élevé au taux d'intérêt multiplié par le temps.
Le voici en Python :
principal = 5000
rate = .02
time = 5
compound_interest = principal * math.e**(rate * time)
compound_interest
Vous auriez environ 5 525 $à la fin de cinq ans. Ces fonctions mathématiques brillent en modes interactifs, ce qui est une des raisons pour lesquelles Python peut remplacer votre application calculatrice. Si vous utilisez ces fonctions dans un script, vous aurez besoin d'une instruction print, comme :
print(math.pi)
Vous n'avez pas besoin de faire cela en mode interactif, car vous pouvez simplement taper une instruction à l'invite pour obtenir sa valeur. C'est ce que le reste de cet article supposera que vous faites, par souci de simplicité.
Fonctions trigonométriques
Les fonctions trigonométriques sont une utilisation majeure des calculatrices scientifiques. Elles sont faciles à utiliser avec la bibliothèque mathématique. Les fonctions trigonométriques attendent des radians au lieu des degrés, auxquels vous êtes peut-être plus habitué, mais il est facile de convertir entre les deux en utilisant les fonctions intégrées radians et degrés.
Convertissons 45 degrés en radians :
math.radians(45)
Le résultat est 0,7853981633974483
Lors d'une session interactive, nous pouvons reconvertir cela en degrés en utilisant le caractère _ (souligné), qui contient la valeur du dernier résultat correctement évalué.
math.degrees(_)
Cela nous redonnera 45.
Stockons notre mesure en radians dans une variable appelée « theta », la variable grecque couramment utilisée pour représenter les mesures d'angle en radians.
theta = math.radians(45)Prenons le sinus :
math.sin(theta)
Nous pouvons également prendre le cosinus
math.cos(theta)
Et la tangente :
math.tan(theta)
Vous pouvez récupérer les valeurs d'origine avec les valeurs inverses ou les valeurs arc. Par exemple, pour calculer l'arcsinus :
sine = math.sine(theta)
math.asin(sine)
Comparez l'arc sinus à la valeur originale de l'angle. Nous pouvons faire de même avec les autres rapports trigonométriques et leurs fonctions inverses.
cosine = math.cos(theta)
math.acos(cosine)
tangent = math.tan(theta)
math.atan(tangent)
Fonctions logarithmiques et exponentielles
Les opérations impliquant des exposants et des logarithmes constituent une autre partie importante des mathématiques.
Comme vu précédemment, le double astérisque (**) élève un nombre à une puissance.
2**2
9**2
Vous pouvez également utiliser la fonction pow pour élever un nombre à une puissance. Par exemple, pour élever le nombre 9 au carré :
math.pow(9,2)
Cela donnera la réponse 81
Pour obtenir l'inverse, vous pouvez utiliser un logarithme. La fonction log utilise par défaut e comme base, la constante que nous avons vue précédemment. Elle est également connue sous le nom de logarithme napérien, d'après John Napier, qui a découvert le logarithme.
Élevons e à la puissance 5.
math.e**5Cela nous donnera 148,41315910257657
Nous pouvons inverser cela avec la fonction logarithme :
math.log(148.41315910257657)
Cela nous ramènera à 5.
Cela fonctionnera également avec d'autres bases.
9**2
math.log(81,9)Un bon moyen de savoir combien de bits sont nécessaires pour stocker un nombre est d'utiliser un logarithme en base 2 :
math.log(2048,2)
Cela nous donnera 11. Il y a aussi une fonction log2 comme raccourci :
math.log2(2048)
Il existe également un raccourci pour le logarithme décimal ou logarithme de Briggs, nommé d'après Henry Briggs, qui a popularisé le logarithme en base 10. Avant que les calculatrices ne soient largement disponibles, des tables de ces logarithmes étaient publiées dans des livres pour accélérer la multiplication et la division. On trouvait des tables de logarithmes naturels et décimaux à la fin des anciens manuels de mathématiques et dans des volumes indépendants. Elles exploitaient une propriété des logarithmes selon laquelle l'addition et la soustraction des logarithmes équivalent à la multiplication et à la division de ces nombres (les règles à calcul fonctionnaient également sur ce principe).
Multiplions 23 et 42 en utilisant des logarithmes
math.log10(23) + math.log10(42)
Pour trouver le produit, élevez 10 à la puissance de la somme des deux logarithmes.
10**_
Cela fonctionne également pour les logarithmes naturels :
math.log(23) + math.log(42)
math.e**_
La propriété s'applique également à la soustraction :
math.log10(966) - math.log10(42)
Cela nous donnera 23. Tout comme les logarithmes ont grandement simplifié la multiplication et la division, l’avènement des calculatrices les a simplifiées encore davantage, rendant les logarithmes en grande partie obsolètes pour la plupart des non-scientifiques. Ils restent néanmoins utiles dans certains domaines, comme le traitement des fonctions exponentielles et leur transformation pour paraître linéaires afin que la régression linéaire puisse leur être appliquée.
Calculs numériques
Il existe d'autres calculs numériques variés que vous pouvez effectuer avec le module math de Python.
Vous pouvez prendre la racine carrée d'un nombre avec la fonction sqrt :
math.sqrt(81)Cela, bien sûr, vous donnera 9. Vous pouvez également prendre la racine cubique d'un nombre avec cbrt :
math.cbrt(81)
Cela nous donnera une approximation décimale de 4,326748710922225.
La fonction pow élèvera un nombre à une puissance, de manière similaire à l'opérateur **.
math.pow(3,2)
Cela élèvera 3 au carré pour donner 9. Vous pouvez également prendre des racines n-ièmes en élevant une puissance à une fraction.
math.pow(3,1/2)
Cela aura également pour effet d'élever 3 au carré. Cette propriété est utile pour extraire des racines supérieures à 3. Pour prendre la huitième racine de 1024.
math.pow(1024,1/8)
Cela donne une autre approximation décimale. Si vous voulez une réponse exacte, vous aurez besoin d'un système d'algèbre informatique comme la bibliothèque SymPy.
D'autres fonctions utiles sont les fonctions plafond et plancher. La fonction plafond arrondira un nombre à l'entier supérieur le plus proche, tandis que la fonction plancher l'arrondira à l'entier inférieur.
math.ceiling(42.5)
Cela renverra 43. Essayons ceci sur le sol :
math.floor(42.5)
Cela renverra 42.
Ceci est similaire à l'opérateur/(double slash) intégré dans Python, qui effectue une division entière, sans reste (et qui était également le comportement par défaut de la division dans Python).
La fonction de reste renverra également le reste de ses arguments.
Par exemple, pour retourner le reste de 5 divisé par 4 :
math.remainder(5,4)
Pour supprimer complètement une partie décimale, utilisez la fonction trunc.
math.trunc(42.5)
Cela renverra 42.
Sommes et Produits
Pour retourner la somme des éléments d'un tableau ou d'un tuple, utilisez la fonction fsum :
math.fsum([2.5,4,5])Cela donne 11,5.
Pour prendre le produit des nombres dans un tuple ou un tableau, utilisez la fonction prod :
math.prod([2.5,4,5]
Cela renverra 50.
Fonctions combinatoires
Les fonctions combinatoires sont utiles pour compter rapidement les objets, et sont courantes en théorie des probabilités et en mathématiques discrètes.
Une factorielle, représentée par un point d'exclamation (!), est un nombre multiplié par ce nombre moins 1, fois ce nombre moins 1. La factorielle de 0 est 1.
Par exemple, 5 factorielle ou 5! est 5 * 4 * 3 * 2 * 1.
Pour calculer 5!, utilisez la fonction factorielle :
math.factorial(5)Les permutations sont une méthode de comptage des combinaisons lorsqu'un certain ordre est requis. Supposons que vous vouliez arranger huit livres sur une étagère dans un ordre précis de trois livres. Vous utiliseriez la fonction perm :
math.perm(8,3)
Cela donnera 336.
Les combinaisons sont similaires mais sont utilisées lorsque l'ordre n'a pas d'importance. Pour compter les façons de tirer 5 cartes d'un paquet de 52 cartes bien mélangé, vous pouvez utiliser la fonction comb.
math.comb(52,5)
Cela donne plus de 2 millions de combinaisons possibles de cartes, ce qui représente beaucoup de façons de perdre au poker.
La bibliothèque mathématique de Python comporte de nombreuses fonctions pour faciliter et rendre vos calculs plus amusants. Il n'est pas surprenant que ce langage soit populaire, même en tant que calculatrice améliorée.





