Méthode math.isclose() de Python
Python math.isclose()La méthode est utilisée pour vérifier si deux valeurs sont proches l'une de l'autre. Elle renvoie True si les valeurs sont proches, sinon elle renvoie False.
math.isclose()Détermine si deux valeurs sont considérées comme proches selon les tolérances absolue et relative données.
Version Python : 3.5
La formule de calcul est :
abs(a-b) <= max(rel_tol * max(abs(a), abs(b)), abs_tol)
Syntaxe
La syntaxe de la méthode math.isclose() est la suivante :
math.isclose(a, b, *, rel_tol=1e-09, abs_tol=0.0)
Description du paramètre :
- a-- Obligatoire, un nombre. Si x n'est pas un nombre, renvoie TypeError. Si la valeur est 0 ou négative, renvoie ValueError.
- b-- Obligatoire, un nombre. Si x n'est pas un nombre, renvoie TypeError. Si la valeur est 0 ou négative, renvoie ValueError.
- rel_tol-- La tolérance relative. C'est la différence maximale autorisée entre a et b, relative à la plus grande valeur absolue de a ou b. Par exemple, pour définir une tolérance de 5 %, passez rel_tol=0.05. La tolérance par défaut est 1e-09, ce qui garantit que les deux valeurs sont identiques à environ 9 chiffres décimaux près. rel_tol doit être supérieur à zéro.
- abs_tol-- La tolérance absolue minimale, utile pour les comparaisons proches de zéro. abs_tol doit être au moins zéro.
Valeur de retour
Renvoie une valeur booléenne, vérifiant si deux valeurs sont proches l'une de l'autre. Si les valeurs sont proches, elle renvoie True ; sinon, elle renvoie False.
Exemple
L'exemple suivant vérifie si deux valeurs sont proches l'une de l'autre :
Exemple
import math
# Affiche si les deux valeurs sont proches
print(math.isclose(8.005, 8.450, abs_tol = 0.4))
print(math.isclose(8.005, 8.450, abs_tol = 0.5))
Résultat de sortie :
False True
L'exemple suivant vérifie si deux nombres à virgule flottante sont proches :
Exemple
import math
# Peut être utilisé pour comparer des nombres à virgule flottante
# Cela affichera false ; 0.1+0.2 n'est pas égal à 0.3
print(0.1+0.2 == 0.3)
print(0.1+0.2 )
# Cela affichera true
print(math.isclose(0.1+0.2, 0.3))
Résultat de sortie :
False 0.30000000000000004 TrueAutres extensions
Module math de Python