Números reales

En programación, todos los números se distinguen, en primer lugar, en números enteros (integer) y fraccionarios (float ).

Para determinar de qué tipo es su variable, Python tiene una función type() incorporada: nombre = "Iván" imprimir(tipo(nombre))  #la pantalla mostrará <class 'str'> n=5 imprimir(tipo(n))  # <clase 'int'> r=5,0 imprimir(escribir(r))  # <clase 'flotante'>
El valor 5.0 es un número representado como un decimal.  En programación, todos los números fraccionarios son números que tienen un punto decimal en su notación. Dichos números se denominan  números reales.
 
Un número real es un número que contiene un punto decimal. Las partes enteras y fraccionarias están separadas entre sí por un punto, no por una coma como en matemáticas.

Por ejemplo, números \(1 \over 2\)\(\sqrt 2\)   son números reales. int no es suficiente para almacenar dichos números. 
Python utiliza el tipo de datos  float.
para representar números reales.
Incluso si la parte fraccionaria del número es igual a cero, como en la variable r del ejemplo, el compilador seguirá creando una variable real en la memoria. ¡Ya que hay un punto decimal en la notación del número!. El punto decimal, por así decirlo, es una señal para el traductor de que es necesario crear una variable real. 

Números muy grandes y muy pequeños  se escriben usando "coma flotante" (en el denominado formato científico).  
En formato científico, un número se representa como mantisa(parte significativa del número) y exponente. Cuando se escriben, la mantisa y el exponente están separados entre sí por la letra e (que indica 10 hasta cierto punto). 

Por ejemplo, puede almacenar el valor de la carga de un electrón ( \(1.60217662 \times 10^{-19}\) C) en un variable, escribiendo de la siguiente forma  El = 1.60217662e-19
Casi todos los números reales no se pueden almacenar en la memoria de la computadora con perfecta precisión, ya que se asigna un número limitado de bits para su almacenamiento.
 
Por lo tanto, al calcular con números reales, se acumulan errores debido a la imprecisión de la representación. Además, cuanto menos espacio se asigne, mayor será este error.

 

Entrar

Para ingresar un número real utilizando la función input(), es necesario convertir la cadena de caracteres, que es el resultado de la función input(), en un número real usando la función >float(): x = flotar(entrada()) Si necesita ingresar varios valores de una línea a la vez, usamos el mismo método que para los números enteros: x, y = mapa (flotante, entrada (). dividir ())

 

Salida

Cuando se muestran números reales, se muestran 16 decimales de manera predeterminada. Este formato no siempre es necesario. Si necesita acortar el formato de salida, use salida formateada o F-strings.


Formato de salida
Para hacer esto, aplique el método format() a la cadena que queremos generar. Y dentro de los formatos de línea se escriben entre llaves después de los dos puntos. Los paréntesis de la función format() indican los nombres de las variables (o constantes), cuyos valores se sustituirán en la cadena en lugar de llaves en el formato especificado. El número de variables debe coincidir con el número de llaves. Este método funciona en Python a partir de la versión 3.
 
Ejemplo
 


Cuerda F 
Otra forma de mostrar una cadena formateada es usar f-strings (f-string). Este método está disponible en Python a partir de la versión 3.6. imprimir(f"{x:f}") imprimir(f"{x:.3f}") imprimir(f"{x:12.4e}") F-string es una cadena comodín que comienza con (o F). Cada vez que queramos insertar el valor de alguna variable en una cadena, debemos agregar   nombre de la variable entre llaves {}. Dentro de las llaves, puede especificar un método de formato que sea similar al método format().


Además del método format() y F-strings, puede usar otras formas de formatear la salida. Obtenemos el mismo resultado escribiendo las declaraciones de salida de la siguiente manera: imprimir("%f" % (x)) imprimir("%.3f" % (x)) imprimir("%12.4e" % (x)) Este método de formateo imita la función  printf() del lenguaje C. El método se considera obsoleto, pero en algunos casos es más conveniente. Aparte de eso, este método es el único (de los mencionados aquí) que funciona en Python versión 2.5 y anteriores.

  Explicación Salida de pantalla
X = 1 / 6    
imprimir("{:f}".formato(x)) format :f genera 6 dígitos de forma predeterminada  en la parte fraccionaria 0.166667
imprimir("{:.3f}".formato(x)) :.3 significa generar 3 caracteres después del punto 0.167
imprimir("{:12.4e}".formato(x)) :12.4 - el primer número (12) especifica  el número total de posiciones para mostrar el número (incluido el punto);
segundo número (4) - el número de dígitos en la parte fraccionaria;
format e - muestra el número en formato científico.
1.6667e-01
Convertir un número real en un entero

Al resolver problemas, a menudo es necesario redondear números reales a los valores enteros más cercanos. Hay dos funciones para esto.

¡Debes recordarlo!
  1. Función int(x) - descarta la parte fraccionaria de un número real x.
  2. La función round(x) - redondea el número real x al entero más cercano (si la parte fraccionaria del número es 0,5, entonces el número se redondea a el número par más cercano).
 
Ejemplos
imprimir (int (20.12345)) # 20 imprimir (redondo (2.5)) # 2 imprimir (redondo (3.5)) # 4 imprimir (redondo (-2.5)) # -2 imprimir(redondear(-3.5)) # -4