Python Math Range -Fehler

Python Math Range -Fehler
Bevor wir uns mit dem Python -Mathematik -Range -Fehler befassen, schauen wir uns das Python -Mathematikmodul an. Das Mathematikmodul ist ein häufig verwendetes Python -Modul, das jederzeit verfügbar ist. Um die mathematischen Funktionen dieses Moduls zu verwenden, sollten Sie ihn zuerst mit Mathematik importieren. Es bietet Zugriff auf die Funktionen der zugrunde liegenden C -Bibliothek. Quadratwurzelberechnung beispielsweise mathematische Mathematik importieren.SQRT (4). Wenn ein Wert in einer mathematischen Berechnung das zulässige Datentypenlimit in Python überschreitet.

In diesem Beitrag werden wir uns die Feinheiten des „Überflächer“ -Problems ansehen. Die maximale Grenze für jeden Datentyp ist in Python festgelegt. Der Wert muss innerhalb der Datentypgrenze liegen, bevor Sie mathematische Berechnungen durchführen. Wenn der Wert zu groß ist, berücksichtigt der Datentyp ihn nicht. Python generiert in diesem Szenario einen Fehler, der feststellt, dass der Wert die zulässige Grenze übersteigt. Unter diesen Umständen sollte der Entwickler angemessene Maßnahmen als Reaktion auf das Interesse ergreifen. In diesem Artikel werden wir uns mit solchen Situationen befassen. Wir gehen all die verschiedenen Lösungen für dieses Problem durch. Python verwendet Operanden bei der Durchführung mathematischer Berechnungen. Die Operanden sind jede der Variablen der Python -Datentypen. Die definierten Datentypen können bis zu ihrer maximalen Grenze in der Variablen gespeichert werden. Wenn die Anwendung versucht, einen Wert zu speichern, der die maximale Grenze des Datentyps überschreitet. Wir werden uns verschiedene Fälle ansehen, die die Mathematik verursachen

Beispiel 1:

Dieses Problem kann mit dem Exp -Python -Mathematikvorgang nachgebildet werden. Die maximale Anzahl von Datentypen, die verwendet werden können, beträgt 709.78271. Das Python -Programm zeigt einen Fehler an, wenn das Programm einen Wert simuliert, der die zulässige Grenze überschreitet.

Mathematik importieren
Ausgabe = Math.Exp (1000)
Druck (Ausgabe)

Das obige erhöhte den Fehler, wie Sie sehen können.

Beispiel 2:

Wir können im Code dieses Programms sehen, dass wir das Mathematikmodul deklarieren. Danach verwenden wir es, um Exponentialzahlen wie Exp (1000) zu generieren, wobei x 1000 ist, während E 2 ist.7, und wenn wir versuchen, dies zu berechnen, liefert es uns einen Wert, der doppelt ist, und es kann das Ergebnis nicht drucken. Wie im folgenden Programm zu sehen ist, tritt ein Überlauffehler auf, der darauf hinweist, dass der Wert außerhalb des Bereichs liegt.

Print ("Ein Python -Programm, das den Überlauffehler erzeugt")
Mathematik importieren
print ("Hier ist der exponentielle Wert:")
Druck (Mathematik.Exp (1000))

Wie Sie sehen können, verursachte der obige Code den Mathematikbereich Fehler.

Beispiel 3:

Der Ausdruck „Ergebnis zu groß“ bezieht sich nicht auf die Anzahl der Zeichen in der Dezimalpräsentation der Zahl; Es bedeutet vielmehr, dass die von Ihrer exponentielle Funktion erzeugte Zahl groß genug ist, um den Typ, den Python einsetzt, um Schwimmpunktwerte intern zu speichern. Floats in Python sind weder willkürliche Präzision noch grenzenlos Größe. x = x ** 2 ist viel zu groß, wenn i = 10. Verwenden Sie entweder einen alternativen Typ für Ihre Floating-Punkt-Berechnungen, wie z. B. Dezimalmodul: D = Dezimales.Decimal (x ** 2) oder ändern Sie Ihren Code so, dass E ** (x) nicht überflutet oder unterströmt.

A = 2.0
für i in Reichweite (50):
a = a ** 2
Druck (a)

Das Folgende ist ein Beispiel für einen Überblowerror.

Lösung 1:

Wie bereits erwähnt, sollte der Wert die maximale Datentypgrenze nicht übertreffen. Die Schwierigkeit kann gelöst werden, indem der Exponentialwert mit weniger berechnet wird. Bevor der exponentielle Vorgang durchgeführt wird, wird ein If -Zustand verwendet, um den Eingangswert zu validieren. Der Anrufer erhält die richtige Fehlermeldung, wenn der Eingabewert höher als 0 ist. Der folgende Code zeigt, wie die Exponentialfunktion verwendet wird, ohne einen Programmfehler zu verursachen.

Mathematik importieren
Num = 80
Wenn num<50:
Ausgabe = Math.exp (num)
Druck (Ausgabe)
anders:
drucken ("Der Eingangswert überschreitet die zulässige Grenze."))

Der obige Code wird erfolgreich durchgeführt, ohne Fehler zu verursachen, wie unten gezeigt.

Lösung 2:

Wenn der Eingangswert unzuverlässig ist, kann der Fehler mit dem Try-Except-Konstrukt behandelt werden. Fügen Sie den entsprechenden Code für die Ausführung des Programms zum Try -Block hinzu. Wenn ein Fehler auftritt, erkennen Sie ihn und wählen Sie eine alternative Vorgehensweise. In dieser Methode wird der Code die Überlaufausnahme behandeln. Der folgende Code zeigt, wie man den Versuch verwendet und außer einem Überlauffehler in einem Python -Programm umgegangen wird.

Mathematik importieren
versuchen:
Ergebnis = Math.Exp (1000)
Außer Überflüfterror:
Ergebnis = float ('Inf')
Druck (Ergebnis)

Unten ist das Ergebnis.

Abschluss:

Ein Überlauffehler tritt auf, wenn der aktuelle Laufzeitwert, der von der Python -Anwendung abgerufen wurde, den Grenzwert überschreitet, wie in diesem Artikel erläutert. Dieses Problem tritt auf, wenn wir arithmetische Operationen im Programm anwenden, und das Ergebnis übersteigt den maximalen Bereichswert, wie wir in diesem Beitrag gesehen haben. Bei der Konvertierung von einem Datentyp in einen anderen tritt dieser Fehler auf, wenn der Wert den Speicherbereich des ausgewählten Datentyps überschreitet. Schließlich haben wir gezeigt, wie dieses Problem mit dem Versuch mit Ausnahme von Blöcken umgeht, um Ausnahmen zu verwalten.