ZeroDivisionError: Float-Division durch Null in Python

Rana Hasnain Khan 21 Juni 2023
ZeroDivisionError: Float-Division durch Null in Python

Wir werden vorstellen, warum ZeroDivisionError auftritt und wie wir ihn mit Beispielen in Python leicht lösen können.

ZeroDivisionError: Float-Division durch Null in Python

Bei der Arbeit an mathematischen Gleichungen oder Code, der auf Ergebnissen basierende mathematische Ausdrücke enthält, ist dies ein häufiger Fehler. In Python tritt beim Versuch, eine Zahl durch Null zu teilen, ein ZeroDivisionError auf.

In der Mathematik ist es unmöglich, eine beliebige Zahl durch Null zu teilen. Wann immer es in unserem Code eine Situation gibt, wird das Teilen einer Zahl durch Null eine Ausnahme auslösen.

Lassen Sie uns ein Programm schreiben, um diese Ausnahme mit Python auszulösen, wie unten gezeigt.

firstNum = 10
secondNum = 5
thirdNum = 7
forthNum = 5
print((firstNum + thirdNum) / (secondNum - forthNum))

Ausgang:

Nullteilungsfehler in Python

Wie wir im obigen Beispiel sehen können, ergab die Subtraktion der Nenner 0, wodurch wir den Fehler ZeroDivisionError bekamen. Lassen Sie uns stattdessen ein anderes Beispiel mit Gleitkommazahlen testen, wie unten gezeigt.

firstNum = 10.0
secondNum = 5.0
thirdNum = 7.0
forthNum = 5.0
print((firstNum + thirdNum) / (secondNum - forthNum))

Wir erhalten jetzt die folgende Fehlermeldung.

Nulldivisionsfehler bei Float-Zahlen

Wie wir an den obigen Beispielen sehen können, wird unsere Anwendung immer dann abstürzen, wenn unser Ergebnis im Nenner Null ist, und es können auch wichtige Daten während eines wichtigen Programmlaufs verloren gehen.

Es ist wichtig, mit dieser Art von Fehlern richtig umzugehen, um unser Programm vor Abstürzen und dem Verlust wichtiger Informationen zu schützen.

Es gibt zwei Möglichkeiten, dieses Problem zu lösen, die wir im Detail besprechen werden. Die erste Lösung ist die Verwendung einer if-else-Anweisung.

Wir werden immer sicherstellen, dass zur Ausführung der Division die Differenz der Nenner immer größer als Null ist. Wenn die Differenz zwischen beiden Nennern gleich Null ist, wird nur die Meldung ausgegeben, dass wir nicht durch Null dividieren können.

Der Code der Lösung ist unten dargestellt.

firstNum = 10.0
secondNum = 5.0
thirdNum = 7.0
forthNum = 5.0

nominators = firstNum + thirdNum
denominators = secondNum - forthNum
if denominators != 0:
    print((firstNum + thirdNum) / (secondNum - forthNum))
else:
    print("Cannot divide by zero.")

Wenn wir diesen Code ausführen, wird die folgende Ausgabe ausgegeben.

Nullteilungsfehler erste Lösung

Wie wir im obigen Beispiel sehen können, gibt unser Code, anstatt einen Fehler zu werfen, den Satz aus, den wir ausgeben wollten, wenn das Ergebnis von Nennern 0 ergibt. Unsere zweite Lösung verwendet die Methoden try und except, wie unten gezeigt.

firstNum = 10.0
secondNum = 5.0
thirdNum = 7.0
forthNum = 5.0

try:
    print((firstNum + thirdNum) / (secondNum - forthNum))
except:
    print("Cannot divide by zero.")

Der Code versucht, den Ausdruck auszuführen; Wenn es erfolgreich ausgeführt wird, zeigt es das Ergebnis an. Andernfalls wird der Satz angezeigt, der besagt, dass wir nicht durch Null teilen können. Die Ausgabe des folgenden Codes ist unten dargestellt.

Nullteilungsfehler 2. Lösung

Es ist sehr wichtig zu beachten, dass diese Lösungen den Fehler nur behandeln, wenn wir wissen, dass die Fehlerquelle darin besteht, dass der Nenner Null ist, aber wenn Sie nicht sicher sind, ob der Nenner Null sein könnte, ist es besser, ihn vorher zu überprüfen Betrieb.

Zusammenfassend lässt sich sagen, dass der ZeroDivisionError: float division by zero eine häufige Ausnahme in Python ist, die auftritt, wenn versucht wird, einen Float durch Null zu dividieren.

Diese Ausnahme kann mit einer if-Anweisung und einem try-except-Block behandelt werden. Um Abstürze oder falsche Ergebnisse zu vermeiden, müssen wir diese Ausnahme in unserem Code behandeln.

Rana Hasnain Khan avatar Rana Hasnain Khan avatar

Rana is a computer science graduate passionate about helping people to build and diagnose scalable web application problems and problems developers face across the full-stack.

LinkedIn

Verwandter Artikel - Python Error