Precedencia de Operadores: El Orden del Caos
¿Alguna vez te has preguntado por qué 2 + 3 * 4 da como resultado 14 y no 20? La respuesta es la Precedencia. Al igual que en las matemáticas que aprendiste en la escuela, Python sigue una jerarquía estricta para decidir qué operación se ejecuta primero.
La Jerarquía Maestra (PEMDAS)
Python organiza los operadores en niveles. Los operadores en los niveles superiores se ejecutan antes que los de los niveles inferiores. Si dos operadores tienen el mismo nivel, Python los evalúa de izquierda a derecha.
| Nivel | Operador | Descripción |
|---|---|---|
| 1 | () |
Paréntesis (Tienen el control total) |
| 2 | ** |
Exponentes (Potencias) |
| 3 | *, /, //, % |
Multiplicación, División, Piso y Módulo |
| 4 | +, - |
Adición y Sustracción |
| 5 | ==, !=, >, <, >=, <= |
Comparaciones |
| 6 | not, and, or |
Operadores Lógicos |
Reglas de Oro para Programadores
1. El Poder de los Paréntesis
Los paréntesis son la herramienta definitiva. No solo sirven para cambiar el orden de las operaciones, sino para hacer que tu código sea legible.
* Difícil de leer: resultado = a + b * c / d ** e
* Claro y seguro: resultado = a + ((b * c) / (d ** e))
2. Evaluación de Izquierda a Derecha
Cuando encuentres operadores del mismo nivel (como una multiplicación y una división juntas), Python resuelve primero la que esté más a la izquierda.
* 10 / 2 * 5 -> Primero se hace 10 / 2 = 5, luego 5 * 5 = 25.
Reto: El Calculador de Órbitas
Vas a calcular la puntuación final de un nivel en un videojuego siguiendo una fórmula específica. Debes aplicar los paréntesis correctamente para que el resultado sea el esperado.
Fórmula deseada: Queremos sumar los puntos_base y los puntos_bonus, y solo después de sumarlos, multiplicar el resultado por el multiplicador. Finalmente, restamos la penalizacion.
Instrucciones:
1. Crea la variable puntos_base con 100.
2. Crea la variable puntos_bonus con 50.
3. Crea la variable multiplicador con 2.
4. Crea la variable penalizacion con 10.
5. Crea la variable score_final aplicando la fórmula descrita arriba en una sola línea. (Si lo haces bien, el resultado debe ser 290).
# Calcula el puntaje respetando la precedencia: