Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Operadores Matemáticos

Dos cajas entran a la operación: PRECIO por CANTIDAD produce TOTAL

Fig. 6.2: precio * cantidad produce total.

El Almacén Digital trae una calculadora integrada. Y no, no necesitas ser bueno en matemáticas: Python hace las cuentas.

La Calculadora del Almacén

Piensa en cajas con números. Estos operadores te permiten combinarlas y obtener una caja nueva con el resultado.

OperadorNombreEjemploResultadoDescripción
+Suma10 + 515Junta dos cantidades.
-Resta10 - 55Quita una cantidad de otra.
*Multiplicación10 * 550Repite una cantidad varias veces.
/División10 / 25.0Reparte equitativamente (Siempre devuelve decimal).
//División Entera10 // 33Reparte pero ignora lo que sobra (Solo cajas completas).
%Módulo (Resto)10 % 31Te dice solo lo que sobró de la división.
**Potencia2 ** 38Multiplica un número por sí mismo las veces indicadas (2 ** 3 = 2 × 2 × 2).

Antes de seguir, prueba con otros números: ¿qué crees que imprime cada línea?

print(17 / 5)
print(17 // 5)

La división normal siempre da decimal (3.4); la entera se queda solo con la parte completa (3), sin redondear.

Ejemplo Real

precio_unitario = 55
cantidad = 3
impuesto = 1.16  # 16% de IVA

# Cálculo secuencial
subtotal = precio_unitario * cantidad
total_final = subtotal * impuesto

print(f"Total a pagar: ${total_final:.2f}")

Ese :.2f del print está ahí para protegerte. Si imprimes total_final a secas verás $191.39999999999998, y no es un error tuyo: los float guardan los decimales en binario, y algunos números (prueba 0.1 + 0.2 en el REPL) no tienen representación exacta. La báscula del almacén es finísima pero no perfecta. Regla práctica: calcula con todos los decimales y redondea solo al mostrar, con el :.2f que conociste en el Capítulo 4.

El Accidente Anunciado: División entre Cero

Hay una operación que la maquinaria se niega a hacer:

piezas = 100
cajas = 0
print(piezas / cajas)
# ZeroDivisionError: division by zero

Repartir 100 piezas entre cero cajas no tiene respuesta, y Python detiene el programa en seco con un ZeroDivisionError. Grábate el nombre: en el Capítulo 10 aprenderás a atrapar estos accidentes sin que tumben el sistema. Mientras tanto, la defensa es no dividir sin revisar el divisor.

Bonus: + y * También Cargan Texto

Los mismos símbolos operan sobre cadenas y listas, con otro significado:

separador = "-" * 20          # repite: "--------------------"
etiqueta = "PRD" + "-" + "101"  # pega: "PRD-101"
estante = ["Martillo"] + ["Sierra"]  # une estantes (lo viste en el Cap. 5)

print(separador)
print(etiqueta)
print(estante)

Mismos operadores, distinta mercancía. Python decide qué hacer según el tipo de las cajas: números se suman, textos se pegan, listas se unen. Mezclarlos ("PRD" + 101) lanza TypeError; para eso existe el casting del Capítulo 4.