8 trucs et astuces pour utiliser Python comme application de calculatrice
Vous avez peut-être entendu dire que vous pouvez utiliser le mode interactif de Python comme calculatrice. Il existe de nombreuses fonctions qui vous permettent de transformer Python en une calculatrice scientifique ou même graphique.
8. Calculer les exposants, les racines et les logarithmes
Les exposants, les racines et les logarithmes sont des opérations mathématiques courantes qui font partie des fonctions que vous pouvez utiliser en Python pour remplacer une calculatrice scientifique portable.
Pour élever une base à la puissance n, il suffit d’utiliser l’opérateur **. Par exemple, pour mettre le chiffre 2 au carré :
2**2
De nombreuses autres langues comme Excel utilisent l'opérateur ^(caret) pour les exposants, ce qui pourrait vous faire trébucher si vous y êtes habitué. Si vous recevez un message d’erreur, assurez-vous d’avoir utilisé le bon opérateur.
Les racines carrées sont également simples. Vous pouvez utiliser la bibliothèque mathématique en Python. Il existe une fonction appelée sqrt qui prend la racine carrée d'un nombre :
import math
math.sqrt(81)
Cela renverra le chiffre 9. Pour les nombres qui ne sont pas des carrés parfaits, il renverra une approximation décimale comme le ferait une calculatrice scientifique portable. La fonction cbrt fonctionne de la même manière, mais avec des racines cubiques.
Pour prendre une racine supérieure à 3, élevez-la à la puissance 1/n à l’aide de l’opérateur exposant. Par exemple, pour prendre la huitième racine de 256 :
256**(1/8)
Les parenthèses sont là pour indiquer à Python que nous élevons le nombre à un exposant fractionnaire . Sinon, il élèvera 256 à la première puissance, ce qui donnera 256, puis divisera cela par 8, ce qui n’est pas ce que nous voulons. Avec la parenthèse, il renverra 8, car 2 à la puissance huit est 256.
Cela nous amène aux logarithmes, qui sont des exposants à rebours. La fonction log prend le logarithme d’un nombre à l’aide d’une certaine base. Par défaut, il utilise le logarithme népérien avec la constante e (2,17828...) comme base :
math.log(42)
Pour utiliser le logarithme commun, fournissez la base comme deuxième argument :
math.log(42,10)
Les développeurs de la bibliothèque de mathématiques ont créé un raccourci pour le logarithme commun, car il est, pour pardonner le jeu de mots, commun. Utilisez la fonction log10 :
math.log10(42)
Les logarithmes en base 2 sont également courants en informatique, et il existe une fonction similaire avec 2 comme base. Pour savoir combien de bits sont nécessaires pour un nombre, utilisez la fonction log2 :
math.log2(512)
Vous pouvez utiliser une base différente en prenant le logarithme naturel ou commun d’un nombre et en le divisant par le logarithme de la base que vous souhaitez utiliser. Par exemple, pour prendre le logarithme de 81 à la base 3 :
math.log(81) / math.log(3)
Cela renverra 4, car 3 à la puissance 4 est 81. Vous pouvez le vérifier en prenant l’antilogarithme de base 3 :
3**4
7. Utilisez des constantes
En parlant de constantes mathématiques, vous pouvez également utiliser les constantes de e et pi facilement avec la bibliothèque mathématique.
Vous vous souvenez peut-être que l’aire d’un cercle est pi multipliée par le carré du rayon. Voici comment calculer l'aire d'un cercle de rayon de 6 unités :
import math
math.pi * 6**2
6. Utiliser des fonctions trigonométriques
Si vous utilisez des fonctions trigonométriques sur une calculatrice scientifique, la bibliothèque mathématique vous permet de les utiliser en Python. Les fonctions sinus, cosinus et tangente ainsi que les fonctions de trigonométrie inverse correspondantes sont disponibles.
Ces fonctions fonctionnent sur des radians, mais vous pouvez les convertir en radians avec la fonction degrés. Pour convertir 60 degrés en radians :
import math
math.radians(60)
Pour prendre le sinus de cet angle, utilisez la fonction sinus.
angle = math.radians(60)
math.sin(angle)
Nous pouvons récupérer notre angle d’origine en utilisant asin, le sinus inverse ou arcsinus :
math.asin(1.0471975511965976)
Nous pouvons également utiliser l’opérateur de soulignement « _ » en mode interactif pour obtenir le résultat précédent afin d’économiser la saisie.
math.asin(_)
Il existe également une fonction pour convertir les radians en degrés :
math.degrees(_)
Cela nous ramènera à notre mesure initiale. Les fonctions cos et acos et tan et atan fonctionnent de la même manière.
5. Résolvez des équations avec SymPy et NumPy
Python peut faire des calculs numériques, mais il peut également résoudre des équations algébriques avec les bonnes bibliothèques. Vous n'avez pas besoin de systèmes d'algèbre informatique propriétaires coûteux comme Mathematica ou Maple. Vous pouvez résoudre des problèmes de mathématiques et de sciences avec Python.
Utilisons SymPy pour résoudre une équation simple, 3x + 5=7. Ce serait facile à faire à la main, mais cela montrera ce que SymPy peut faire.
Tout d’abord, importez SymPy :
from sympy import *
Avant d'utiliser x, nous allons devoir le définir comme variable symbolique :
x = symbols('x')
Nous allons utiliser la fonction Eq de SymPy, car SymPy attend des équations égales à 0.
eqn = Eq(3*x + 5,7)
Nous allons maintenant utiliser la fonction solve pour résoudre x :
solve(eqn,x)
La réponse devrait être 2/3.
L’application en ligne de commande isympy importera SymPy dans un environnement interactif, définira certaines variables courantes, y compris x, et configurera l’impression de manière à ce que les résultats ressemblent davantage à ce qu’ils seraient dans un manuel.
Faisons quelque chose de plus difficile. Une équation du second degré est plus difficile à résoudre à la main. Heureusement, avec SymPy, vous n'aurez pas à vous souvenir de la formule quadratique ou de la façon de compléter le carré. Nous allons résoudre l'équation du second degré x^2 + 4x +2=0. Nous pouvons simplement passer directement à la résolution de x :
solve(x**2 + 4*x + 2,x)
Les réponses seront 2 moins la racine carrée de 2 et 2 plus la racine carrée de 2. N’oubliez pas de définir explicitement la multiplication, par exemple 4*x pour 4x.
Vous pouvez également résoudre facilement un système d’équations linéaires avec NumPy. Nous allons résoudre le premier exemple d'équation de la page Wikipédia sur les systèmes d'équations linéaires :
3x + 2y - z=1
2x - 2y + 4z=-2
-x + 1/2y - z=0
Nous allons utiliser une matrice et un vecteur pour résoudre ce problème. Nous n'avons pas besoin de nous soucier des variables. Nous voulons juste les coefficients. Nous allons utiliser un tableau 2D, ou un tableau de tableaux, pour représenter une matrice de coefficients :
import numpy as np
A = np.array([[3,2,-1],[2,-2,4],[-1,1/2,-1]])
Et nous utiliserons un autre tableau pour le vecteur colonne de constantes sur le côté droit du système :
b = np.array([1,-2,0])
Ensuite, nous utiliserons la fonction linalg.solve de NumPy pour résoudre si le système a des solutions (ce n'est pas le cas de tous les systèmes d'équations linéaires)
np.linalg.solve(A,b)
Vous obtiendrez une liste de solutions pour le système, dans ce cas 1, -2 et -2. Celles-ci correspondent aux variables x, y et z.
4. Calculez la moyenne, la médiane et le mode avec la bibliothèque de statistiques
De nombreuses calculatrices scientifiques et tableurs comme Excel contiennent des opérations statistiques. Vous pouvez effectuer des statistiques simples à l’aide de la bibliothèque de statistiques.
Créons un tableau de quelques nombres pour servir d'ensemble de données
data = [25,42,35]
Pour calculer la moyenne de quelques nombres, mettez-les dans un tableau et utilisez la fonction moyenne :
statistics.mean(data)
Pour la médiane :
statistics.median(data)
Et le mode, la valeur la plus fréquente :
statistics.mode(data)
Dans ce cas, chaque numéro apparaissant le même nombre de fois, Python affichera le premier.
3. Besoin d’une seule fonction ? Il suffit de l’importer !
Si vous n’avez besoin que d’une ou de quelques fonctions d’une bibliothèque pour une utilisation interactive, vous pouvez les importer.
Si vous avez juste besoin de la fonction sinus de la bibliothèque mathématique, vous pouvez simplement l’importer comme ceci :
from math import sin
Vous pouvez maintenant l’utiliser sans avoir à appeler la bibliothèque au préalable :
sin(42)
2. Calculer les factorielles, les permutations et les combinaisons
Les opérations combinatoires de base telles que la factorielle, les permutations et les combinaisons sont également disponibles en Python. Une fois de plus, c'est la bibliothèque de mathématiques à la rescousse :
from math import factoral, comb, perm
Une factorielle est un nombre multiplié par le nombre le plus bas suivant par le nombre le plus bas suivant jusqu’à 1. Il est abrégé par le point d'exclamation. Par exemple, factorielle 49 est 49 !
Pour calculer 49 ! Utilisez la fonction factorielle de la bibliothèque mathématique que nous venons d’importer :
factorial(49)
Le résultat est un très grand nombre. Pour calculer le nombre de combinaisons que vous pouvez obtenir en piochant 5 cartes d’un paquet standard de 52 cartes :
comb(52,5)
Pour calculer les permutations, c’est-à-dire dessiner des cartes dont l’ordre est important, utilisez la fonction perm :
perm(52,5)
1. Tracer une fonction avec SymPy
Sympy peut non seulement résoudre des équations, mais aussi les tracer comme le ferait une calculatrice graphique.
Vous pouvez tracer des fonctions sous la forme y=mx+ b, où m est la pente et b est l’ordonnée à l’origine. Nous n’avons besoin que de la partie mx + b. Par exemple, pour tracer y=3x + 5
from sympy import symbols, plot
x = symbols('x')
plot(3*x + 5)
Une fenêtre apparaîtra avec le tracé ou il apparaîtra dans un carnet Jupyter. Avec toutes ces fonctions, vous pouvez garder cette vieille calculatrice scientifique ou graphique dans le tiroir et utiliser quelque chose de beaucoup moins cher et plus flexible.