Nú

Números en Python

78 ejercicios

Acerca de Números

Python tiene tres tipos distintos de números integrados: enteros (int), de coma flotante (float) y complejos (complex). Las fracciones (fractions.Fraction) y los decimales (decimal.Decimal) también están disponibles mediante importación desde la biblioteca estándar.

Los números enteros, incluidos los números hexadecimales (hex()), octales (oct()) y binarios (bin()) sin decimales, también se identifican como ints:

# Ints are whole numbers.
>>> 1234
1234
>>> type(1234)
<class 'int'>

>>> -12
-12

Los números que contienen un punto decimal (con o sin parte fraccionaria) se identifican como floats:

>>> 3.45
3.45
>>> type(3.45)
<class 'float'>

Aritmética

Python admite completamente la aritmética entre estos distintos tipos de números y convertirá los números más estrechos para que coincidan con sus homólogos menos estrechos cuando se usen con los operadores aritméticos binarios (+, -, *, /, // y %).

Todos los números (excepto los complejos) admiten todas las operaciones aritméticas, evaluadas según la precedencia de operadores. El soporte para funciones matemáticas (más allá de + y -) para números complejos se puede encontrar en el módulo cmath.

Suma y resta

Los operadores de suma y resta se comportan como en las matemáticas normales. Si uno o varios de los operandos es un float, los int restantes también se convertirán a float:

>>> 5 - 3
2
# The int is widened to a float here, and a float is returned.
>>> 3 + 4.0
7.0

Multiplicación

Al igual que con la suma y la resta, la multiplicación convertirá los números más estrechos para que coincidan con sus homólogos menos estrechos:

>>> 3 * 2
6

>>> 3 * 2.0
6.0

División

La división siempre devuelve un float aunque el resultado sea un número entero:

>>> 6/5
1.2

>>> 6/2
3.0

División entera

Si necesitas un resultado int, puedes usar la división entera para truncar el resultado. La división entera se realiza con el operador //:

>>> 6//5
1

>>> 6//2
3

Módulo

El operador módulo (%) devuelve el residuo de la división de los dos operandos:

# The result of % is zero here, because dividing 8 by 2 leaves no remainder
>>> 8 % 2
0

# The result of % is 2 here, because 3 only goes into 5 once, with 2 left over
>>> 5 % 3
2

Otra forma de ver 5 % 3:

>>> whole_part = int(5/3)
1

>>> decimal_part = 5/3 - whole_part
0.6666666666666667

>>> whole_remainder = decimal_part * 3
2.0

Exponenciación

La exponenciación se realiza con el operador **:

>>> 2 ** 3
8

>>> 4 ** 0.5
2

Conversiones

Los números se pueden convertir de int a float y de float a int con las funciones integradas int() y float():

>>> int(3.45)
3

>>> float(3)
3.0

Redondeo

Python proporciona una función integrada round(<number>, <decimal_places>) para redondear un número de coma flotante a un número determinado de decimales. Si no se especifica ningún número de decimales, el número se redondea al entero más cercano y devolverá un int:

>>> round(3.1415926535, 2)
3.14

>>> round(3.1415926535)
3

Prioridad y paréntesis

Python te permite usar paréntesis para agrupar expresiones. Esto es útil cuando quieres anular el orden de operaciones predeterminado.

>>> 2 + 3 * 4
14

>>> (2 + 3) * 4
20

Python sigue la regla PEMDAS para la precedencia de operadores. Esto significa que los cálculos dentro de () tienen la prioridad más alta, seguidos de **, luego *, /, //, %, + y -:

>>> 2 + 3 - 4 * 4
-11

>>> (2 + 3 - 4) * 4
4

# In the following example, the `**` operator has the highest priority, then `*`, then `+`
# Meaning we first do 4 ** 4, then 3 * 256, then 2 + 768
>>> 2 + 3 * 4 ** 4
770

Precisión y representación

Los enteros en Python tienen precisión arbitraria: el número de dígitos solo está limitado por la memoria disponible del sistema anfitrión.

Los números de coma flotante normalmente se implementan usando un double en C (15 decimales de precisión), pero su representación varía según el sistema anfitrión. Los números complejos tienen una parte real y una parte imaginary, ambas representadas por números de coma flotante.

Para ver un análisis más detallado de los problemas y las limitaciones de la aritmética de coma flotante en los distintos lenguajes de programación, echa un vistazo a 0.30000000000000004.com y el tutorial de Python.

Editar en GitHub El enlace se abre en una nueva ventana o pestaña

Aprende Números

La práctica está bloqueada

Desbloquea 3 ejercicios más para practicar Números