Méthode math.isclose() de Python

Python math 模块Module math 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

# Importer le package math
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

# Importer le package math
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
True

Python math 模块Module math de Python

Autres extensions