Parte 21 — Errores comunes
Confundir * con x
Incorrecto:
total = precio x cantidadCorrecto:
total = precio * cantidadPython utiliza el asterisco para multiplicar.
Utilizar ^ para potencias
Incorrecto:
resultado = 2 ^ 3Correcto:
resultado = 2 ** 3Confundir / y //
print(10 / 3)Resultado:
3.3333333333333335print(10 // 3)Resultado:
3Elige según necesites conservar la parte decimal.
Dividir entre cero
Incorrecto:
promedio = total / 0Produce:
ZeroDivisionErrorEl divisor debe ser diferente de cero.
Calcular porcentajes sin dividir entre cien
Incorrecto:
ahorro = ingresos * 20Si queríamos calcular el 20 %, esto multiplica por veinte.
Correcto:
ahorro = ingresos * (20 / 100)También:
ahorro = ingresos * 0.20Confundir porcentaje y cantidad
porcentaje = 20Representa el número veinte.
Para utilizarlo como porcentaje:
porcentaje_decimal = porcentaje / 100Resultado:
0.2Olvidar el orden de operaciones
promedio = gasto_1 + gasto_2 + gasto_3 / 3Python solamente divide gasto_3 entre tres.
Correcto:
promedio = (gasto_1 + gasto_2 + gasto_3) / 3O mejor:
total_gastos = gasto_1 + gasto_2 + gasto_3
promedio = total_gastos / 3Utilizar demasiadas operaciones en una línea
Difícil de leer:
resultado = saldo + ingreso_1 + ingreso_2 - gasto_1 - gasto_2 - presupuesto * porcentaje / 100Mejor:
total_ingresos = ingreso_1 + ingreso_2
total_gastos = gasto_1 + gasto_2
reserva = presupuesto * (porcentaje / 100)
resultado = saldo + total_ingresos - total_gastos - reservaDividir el cálculo ayuda a entenderlo y depurarlo.
Comparar con =
Incorrecto:
resultado = saldo = 1000Esto asigna valores.
Para comparar:
resultado = saldo == 1000Escribir && o ||
Otros lenguajes utilizan:
&&
||Python utiliza:
and
orIncorrecto:
resultado = saldo > 0 && cuenta_activaCorrecto:
resultado = saldo > 0 and cuenta_activaEscribir ! para negar
Python utiliza:
notCorrecto:
cuenta_disponible = not cuenta_bloqueadaPara “diferente de” sí utilizamos:
!=Comparar textos con diferente formato
moneda = "crc"
print(moneda == "CRC")Resultado:
FalseNormaliza primero:
moneda = moneda.strip().upper()Redondear demasiado pronto
promedio = round(total / cantidad)Esto elimina todos los decimales antes de otros cálculos.
Puede ser mejor:
promedio = total / cantidadY al mostrar:
print(round(promedio, 2))