Aprende Python · lección gratuita
Python trabaja con números de forma natural, pero a menudo necesitamos redondear, obtener valores absolutos, sacar cocientes y restos, o convertir entre tipos antes de mostrar un resultado. Estas funciones integradas (no requieren import) cubren la mayoría de cálculos del día a día. En esta lección dominarás las herramientas numéricas básicas y cómo presentar decimales con elegancia usando f-strings.
round(n, d) redondea n a d decimales (si omites d, redondea al entero más cercano).abs(n) devuelve el valor absoluto (siempre positivo o cero).divmod(a, b) devuelve una tupla (cociente, resto) en una sola llamada.% (módulo) da el resto de una división entera.int(), float() y str() convierten entre números enteros, decimales y texto.f"{x:.2f}" formatea un número con exactamente 2 decimales.Python distingue entre enteros (int) y decimales (float). Cuando combinas operaciones puedes necesitar pasar de uno a otro: int("42") convierte el texto "42" en el número 42, mientras que str(42) hace lo contrario. Esto es esencial al leer datos o construir mensajes, porque no puedes sumar un número a un texto directamente.
La división normal / siempre devuelve un float (10 / 2 es 5.0). Si quieres el cociente entero usa //, y para el resto usa %. La función divmod(a, b) te da ambos a la vez: el cociente entero y el resto, perfecta para convertir minutos a horas:minutos o repartir elementos en grupos.
total_minutos = 135
horas, minutos = divmod(total_minutos, 60)
print(horas, "horas y", minutos, "minutos") # 2 horas y 15 minutos
El redondeo merece atención: round(3.14159, 2) da 3.14. Ten en cuenta que round devuelve un número (no texto), por lo que round(5.0, 2) muestra 5.0. Si quieres controlar exactamente cuántos decimales se ven al imprimir (por ejemplo, mostrar siempre dos), usa el formato de f-string :.2f, que produce texto con la cantidad de decimales indicada.
# round() redondea al número de decimales indicado
print(round(3.14159, 2)) # 3.14
print(round(2.5)) # 2 (redondeo bancario en .5)
# abs() devuelve el valor absoluto
print(abs(-7)) # 7
print(abs(3 - 10)) # 7
# divmod() y el operador módulo %
print(divmod(17, 5)) # (3, 2)
print(17 % 5) # 2 (resto)
# Conversión de tipos
print(int("25") + 5) # 30
print(float("3.5") * 2) # 7.0
print("Edad: " + str(30)) # Edad: 30
# Formatear decimales con f-strings
precio = 19.5
print(f"${precio:.2f}") # $19.50
💡 Usa f-strings para mostrar,round()para calcular. Si solo quieres que un número se vea con 2 decimales en pantalla,f"{x:.2f}"es más limpio; reservaround()para cuando necesites seguir operando con el valor redondeado.
| Operación | Sintaxis | Ejemplo | Resultado |
|---|---|---|---|
| Redondear | round(n, d) | round(3.14159, 2) | 3.14 |
| Redondear a entero | round(n) | round(4.7) | 5 |
| Valor absoluto | abs(n) | abs(-9) | 9 |
| Cociente y resto | divmod(a, b) | divmod(17, 5) | (3, 2) |
| Resto (módulo) | a % b | 17 % 5 | 2 |
| Cociente entero | a // b | 17 // 5 | 3 |
| Texto → entero | int(s) | int("42") | 42 |
| Texto → decimal | float(s) | float("3.5") | 3.5 |
| Número → texto | str(n) | str(42) | "42" |
| Formato decimal | f"{x:.2f}" | f"{1.5:.2f}" | "1.50" |
---