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:
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.
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.
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.
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 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.
LinkedInVerwandter Artikel - Python Error
- Adresse wird bereits verwendet Fehler in Python
- AttributeError: __Exit__ in Python
- AttributeError: 'Dict'-Objekt hat kein Attribut 'Append' in Python
- AttributeError: 'NoneType'-Objekt hat kein Attribut 'Text' in Python
- AttributeError: Int-Objekt hat kein Attribut
- AttributeError: Modul Urllib hat keine Attributanforderung