Python math.isclose()-Methode
Python math.isclose()Die Methode wird verwendet, um zu prüfen, ob zwei Werte nahe beieinanderliegen. Sie gibt True zurück, wenn die Werte nahe beieinanderliegen, andernfalls gibt sie False zurück.
math.isclose()Bestimmt, ob zwei Werte gemäß den angegebenen absoluten und relativen Toleranzen als nahe beieinanderliegend angesehen werden.
Python-Version: 3.5
Die Berechnungsformel lautet:
abs(a-b) <= max(rel_tol * max(abs(a), abs(b)), abs_tol)
Syntax
Die Syntax der Methode math.isclose() lautet wie folgt:
math.isclose(a, b, *, rel_tol=1e-09, abs_tol=0.0)
Parameter description:
- a-- Erforderlich, eine Zahl. Wenn x keine Zahl ist, wird TypeError zurückgegeben. Wenn der Wert 0 oder negativ ist, wird ValueError zurückgegeben.
- b-- Erforderlich, eine Zahl. Wenn x keine Zahl ist, wird TypeError zurückgegeben. Wenn der Wert 0 oder negativ ist, wird ValueError zurückgegeben.
- rel_tol-- Die relative Toleranz. Sie ist die maximal zulässige Differenz zwischen a und b, relativ zum größeren absoluten Wert von a oder b. Um beispielsweise eine Toleranz von 5% festzulegen, übergeben Sie rel_tol=0.05. Die Standardtoleranz ist 1e-09, wodurch sichergestellt wird, dass die beiden Werte innerhalb von etwa 9 Dezimalstellen gleich sind. rel_tol muss größer als null sein.
- abs_tol-- Die minimale absolute Toleranz, nützlich für Vergleiche nahe null. abs_tol muss mindestens null sein.
Rückgabewert
Gibt einen booleschen Wert zurück und prüft, ob zwei Werte nahe beieinanderliegen. Wenn die Werte nahe beieinanderliegen, wird True zurückgegeben; andernfalls wird False zurückgegeben.
Beispiel
Das folgende Beispiel prüft, ob zwei Werte nahe beieinanderliegen:
Beispiel
import math
# Ausgabe, ob die beiden Werte nahe beieinanderliegen
print(math.isclose(8.005, 8.450, abs_tol = 0.4))
print(math.isclose(8.005, 8.450, abs_tol = 0.5))
Ausgabeergebnis:
False True
Das folgende Beispiel prüft, ob zwei Gleitkommazahlen nahe beieinanderliegen:
Beispiel
import math
# Kann für den Vergleich von Gleitkommazahlen verwendet werden
# Dies gibt false aus; 0.1+0.2 ist nicht gleich 0.3
print(0.1+0.2 == 0.3)
print(0.1+0.2 )
# Dies gibt true aus
print(math.isclose(0.1+0.2, 0.3))
Ausgabeergebnis:
False 0.30000000000000004 TrueAndere Erweiterungen
Python math-Modul