Error de rango de matemáticas de Python

Error de rango de matemáticas de Python
Antes de entrar en el error de Python Math Range, echemos un vistazo al módulo de matemáticas de Python. El módulo matemático es un módulo de pitón de uso común disponible en todo momento. Para usar las funciones matemáticas de este módulo, primero debe importarlo utilizando las matemáticas de importación. Proporciona acceso a las funcionalidades de la biblioteca C subyacente. Cálculo de la raíz cuadrada, por ejemplo, las matemáticas de importación.sqrt (4). Si un valor en un cálculo matemático excede el límite de tipo de datos permitido en Python, se plantea una excepción llamada "Error de rango de matemáticas: Matemáticas".

En esta publicación, veremos las complejidades del problema de "Overflowerror". El límite máximo para cada tipo de datos se establece en Python. El valor debe estar dentro del límite de tipo de datos antes de realizar cualquier cálculo matemático. Si el valor es demasiado grande, el tipo de datos no lo acomodará. Python genera un error en este escenario, señalando que el valor excede el límite permitido. En esta circunstancia, el desarrollador debe tomar medidas apropiadas en respuesta al interés. Veremos cómo lidiar con tales situaciones en este artículo. Repasamos todas las diferentes soluciones a este problema. Python usa operandos al realizar cálculos matemáticos. Los operandos son cualquiera de las variables de los tipos de datos de Python. Los tipos de datos definidos se pueden almacenar hasta su límite máximo en la variable. Si la aplicación intenta almacenar un valor que excede el límite máximo del tipo de datos, Python puede lanzar un error que declare que se ha excedido el límite permitido. Veremos diferentes instancias que causan las matemáticas

Ejemplo 1:

Este problema se puede recrear utilizando la operación de matemáticas EXP Python. El número máximo de tipos de datos que se pueden usar es 709.78271. El programa Python mostrará un error si el programa simula un valor que excede el límite permitido.

importación matemática
salida = matemáticas.EXP (1000)
Imprimir (salida)

Lo anterior planteó el error, como puede ver.

Ejemplo 2:

Podemos ver en el código de este programa que estamos declarando el módulo de matemáticas, después de eso, usándolo para generar números exponenciales como Exp (1000), donde X es 1000 mientras que E es 2.7, y cuando intentamos calcular esto, nos ofrece un valor como resultado que es doble, y no puede imprimir el resultado. Como se puede ver en el siguiente programa, se produce un error de desbordamiento, lo que indica que el valor está fuera de rango porque el valor dado es 1000 y el resultado está fuera de rango.

Imprimir ("Un programa Python que genera el error de desbordamiento")
importación matemática
Imprimir ("Aquí está el valor exponencial:")
Imprimir (matemáticas.exp (1000))

Como puede ver, el código anterior causó el error de rango de matemáticas.

Ejemplo 3:

La frase "resultado demasiado grande" no se refiere al número de caracteres en la representación decimal del número; Más bien, significa que el número producido por su función exponencial es lo suficientemente grande como para invadir cualquier tipo de Python que emplee para almacenar valores de punto flotante internamente. Los flotadores en Python no son de precisión arbitraria ni de tamaño ilimitado. x = x ** 2 es demasiado grande cuando i = 10. Utilice un tipo alternativo para sus cálculos de punto flotante, como el módulo decimal: d = decimal.Decimal (x ** 2), o modifique su código de tal manera que E ** (x) no se desborda ni se subflue.

a = 2.0
Para I en el rango (50):
a = a ** 2
Imprimir (a)

El siguiente es un ejemplo de un sobreflobador.

Solución 1:

Como se indicó anteriormente, el valor no debe superar el límite de tipo de datos máximo. La dificultad se puede resolver calculando el valor exponencial con menos. Antes de que se realice la operación exponencial, se usa una condición IF para validar el valor de entrada. La persona que llama recibirá el mensaje de error adecuado si el valor de entrada es más alto que 0. El siguiente código demuestra cómo utilizar la función exponencial sin causar un error de programa.

importación matemática
num = 80
Si num<50:
salida = matemáticas.EXP (NUM)
Imprimir (salida)
demás:
imprimir ("El valor de entrada excede el límite permitido.")

El código anterior se realiza con éxito sin causar ningún error, como se muestra a continuación.

Solución 2:

Si el valor de entrada no es confiable, el error se puede manejar utilizando la construcción Try-Except. Agregue el código apropiado para la ejecución del programa al bloque de prueba. Si se produce un error, reconocerlo y elegir un curso de acción alternativo. En este método, el código manejará la excepción de desbordamiento. El siguiente código demuestra cómo usar la prueba y, excepto para manejar un error de desbordamiento en un programa de Python.

importación matemática
intentar:
resultado = matemáticas.EXP (1000)
Excepto Overflowerror:
resultado = float ('inf')
Imprimir (resultado)

A continuación se muestra el resultado.

Conclusión:

Un error de desbordamiento ocurre cuando el valor de tiempo de ejecución actual recuperado por la aplicación Python excede el valor límite, como se discutió en este artículo. Este problema surge cuando aplicamos operaciones aritméticas en el programa, y ​​el resultado excede el valor de rango máximo, como vimos en esta publicación. Al convertir de un tipo de datos a otro, este error ocurre cuando el valor excede el rango de almacenamiento del tipo de datos elegido. Finalmente, mostramos cómo manejar este problema usando el intento y, excepto los bloques para administrar las excepciones.