Funciones matemáticas en Python: math, redondeo, logaritmos

Entrenador de Python en Línea para Principiantes

Aprende Python fácilmente sin sobrecargarte de teoría. Resuelve tareas prácticas con verificación automática, recibe pistas y escribe código directamente en el navegador, sin instalar nada.

Start Course

Funciones matemáticas en Python: redondeo, logaritmos y factorial

Trabajar con números en Python es fundamental tanto en aplicaciones prácticas como en cálculos científicos. Ya sea que analices datos, desarrolles aplicaciones financieras o trabajes en machine learning, conocer las funciones matemáticas de Python simplificará enormemente tu desarrollo. Además, estas funciones mejoran la precisión de tus cálculos.

En este artículo, exploraremos a fondo las operaciones matemáticas clave en Python. Veremos diferentes formas de trabajar con números y estudiaremos ejemplos prácticos de uso de estas funciones.

Módulo math: la herramienta principal para cálculos matemáticos

El módulo integrado math en Python ofrece un amplio conjunto de funciones para realizar operaciones matemáticas. Este módulo contiene todas las herramientas necesarias para trabajar con números.

import math

Principales funcionalidades del módulo math

El módulo math incluye muchas funciones útiles:

  • Funciones trigonométricas (sin, cos, tan)
  • Funciones hiperbólicas (sinh, cosh, tanh)
  • Funciones de redondeo (floor, ceil, trunc)
  • Funciones logarítmicas (log, log2, log10)
  • Funciones de potencias (pow, sqrt)
  • Constantes matemáticas (pi, e)

Redondeo de números en Python

Función round() para redondeo básico

La función round() se usa para redondear un número a una cantidad específica de decimales. Es la forma más simple de redondear en Python.

numero = 3.14159265
redondeado = round(numero, 2)
print(redondeado)  # Resultado: 3.14

Formato de llamada de la función round():

round(numero, decimales)

Parámetros de la función:

  • numero — el número a redondear
  • decimales — cantidad de decimales (por defecto 0)

Particularidades de la función round()

La función round() usa la regla de "redondeo al par más cercano". Cuando el valor es exactamente 0.5, se redondea al número par más cercano:

print(round(0.5))  # Resultado: 0
print(round(1.5))  # Resultado: 2
print(round(2.5))  # Resultado: 2

Redondeo matemático con math.floor() y math.ceil()

Las funciones math.floor() y math.ceil() proporcionan un redondeo dirigido:

  • math.floor() — redondea hacia abajo (al entero menor)
  • math.ceil() — redondea hacia arriba (al entero mayor)
import math

print(math.floor(3.7))   # Resultado: 3
print(math.ceil(3.7))    # Resultado: 4
print(math.floor(-3.7))  # Resultado: -4
print(math.ceil(-3.7))   # Resultado: -3

Función math.trunc() para truncar la parte decimal

La función math.trunc() elimina la parte decimal del número sin redondear:

print(math.trunc(3.7))   # Resultado: 3
print(math.trunc(-3.7))  # Resultado: -3

Redondeo de alta precisión con el módulo decimal

Para cálculos financieros precisos, se recomienda usar el módulo decimal. Este módulo permite controlar la precisión de los cálculos y elimina los errores de redondeo de punto flotante.

from decimal import Decimal, ROUND_HALF_UP

valor = Decimal('3.4567')
valor_redondeado = valor.quantize(Decimal('0.01'), rounding=ROUND_HALF_UP)
print(valor_redondeado)  # Resultado: 3.46

El módulo decimal ofrece varios modos de redondeo:

  • ROUND_HALF_UP — redondea alejándose de cero cuando el valor es 0.5
  • ROUND_HALF_DOWN — redondea hacia cero cuando el valor es 0.5
  • ROUND_HALF_EVEN — redondea al número par más cercano
  • ROUND_UP — siempre redondea hacia arriba
  • ROUND_DOWN — siempre redondea hacia abajo

Blogs

Book Recommendations