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 ... |