Lesson 2
Números enteros y flotantes
1. Aritmética entera
Ya conocemos los siguientes operadores que se pueden aplicar a los números: +
, -
, *
y **
. El operador de división /
para enteros da un número real de coma flotante (un objeto de tipo float
). La exponenciación **
también devuelve un flotante cuando la potencia es negativa:
print(17 / 3) # da 5.66666666667 print(2 ** 4) # da 16 print(2 ** -2) # da 0.25
Hay una operación especial para la división entera donde el resto se descarta: //
. La operación que produce un resto de dicha división se ve como %
. Ambas operaciones siempre producen un objeto de tipo int
.
print(17 / 3) # da 5.66666666667 print(17 // 3) # da 5 print(17 % 3) # da 2
2. Números de punto flotante
Cuando leemos un valor entero, leemos una línea con input()
y luego lanzamos una cadena a un entero usando int()
. Cuando leemos un número de coma flotante, necesitamos lanzar la cuerda para que flote usando float()
:
x = float(input()) print(x)
Los flotadores con un valor absoluto muy grande o muy pequeño se pueden escribir usando una notación científica. Por ejemplo, la distancia desde la Tierra al Sol es 1.496 · 10 11 , o 1.496e11
en Python. La masa de una molécula del agua es 2.99 · 10 -23 , o 2.99e-23
en Python.
Se pueden lanzar objetos flotantes a objetos int descartando la parte de fracción usando la función int()
. Esta función demuestra el llamado redondeo hacia el comportamiento cero :
print(int(1.3)) # da 1 print(int(1.7)) # da 1 print(int(-1.3)) # da -1 print(int(-1.7)) # da -1
También hay una función round()
que realiza el redondeo habitual:
print(round(1.3)) # da 1 print(round(1.7)) # da 2 print(round(-1.3)) # da -1 print(round(-1.7)) # da -2
Los números reales de coma flotante no se pueden representar con precisión exacta debido a limitaciones de hardware. Esto puede conducir a efectos engorrosos. Ver los documentos de Python para los detalles.
print(0.1 + 0.2) # da 0.30000000000000004
3. módulo matemático
Python tiene muchas funciones auxiliares para los cálculos con flotadores. Se pueden encontrar en el módulo de math
.
Para usar este módulo, primero debemos importarlo escribiendo las siguientes instrucciones al comienzo del programa:
import math
Por ejemplo, si queremos encontrar un valor máximo para x
- el entero más pequeño no menos que x
- llamamos a la función apropiada desde el módulo matemático: math.ceil(x)
. La sintaxis para llamar funciones desde módulos siempre es la misma: module_name.function_name(argument_1, argument_2, ...)
import math x = math.ceil(4.2) print(x) print(math.ceil(1 + 3.8))
Hay otra forma de usar funciones de módulos: para importar ciertas funciones nombrándolas:
from math import ceil x = 7 / 2 y = ceil(x) print(y)
Algunas de las funciones relacionadas con números - int()
, round()
y abs()
(valor absoluto, también conocido como módulo) están incorporadas y no requieren ninguna importación.
Todas las funciones de cualquier módulo estándar de Python están documentadas en el sitio web oficial de Python. Aquí está la descripción del módulo matemático . La descripción de algunas funciones se da:
Función | Descripción |
---|---|
Redondeo | |
floor(x) | Devuelve el piso de x, el entero más grande menor o igual a x. |
ceil(x) | Devuelve el techo de x, el entero más pequeño mayor que o igual a x. |
Raíces y logaritmos | |
sqrt(x) | Devuelve la raíz cuadrada de x |
log(x) | Con un argumento, devuelve el logaritmo natural de x (a la base e). Con dos argumentos, devuelve el logaritmo de x a la base dada |
e | La constante matemática e = 2,71828 ... |
Trigonometría | sin(x) | Devuelve el seno de x radianes |
asin(x) | Devuelve el arcoseno de x, en radianes |
pi | La constante matemática π = 3.1415 ... |