REVIT ARCHITECTURE (968) – PYTHON – Decisiones (52) – Operadores clave de comparación y las estructuras condicionales en programación

Operadores de comparación (también llamados relacionales)

Estos operadores sirven para comparar valores. El resultado de la comparación siempre será True (verdadero) o False (falso). Veamos cada uno con explicaciones simples:

== (igual a)

Devuelve True si los dos valores comparados son iguales.

Por ejemplo:

!= (distinto de)

Devuelve True si los valores son diferentes.

Ejemplo:

> (mayor que)

Devuelve True si el valor de la izquierda es mayor que el de la derecha.

Ejemplo:

< (menor que)

Devuelve True si el valor de la izquierda es menor que el de la derecha.

Ejemplo:

>= (mayor o igual que)

Devuelve True si el valor de la izquierda es mayor o igual al de la derecha.

Ejemplo:

= (menor o igual que)

Devuelve True si el valor de la izquierda es menor o igual al de la derecha.

Ejemplo:

Estructuras condicionales (if, elif, else)

Sirven para tomar decisiones en el código, dependiendo del valor de una variable o de una comparación.

if (si…)

Se ejecuta el bloque de código solo si la condición es True.

Ejemplo:

if múltiples (cada uno independiente)

Se pueden usar varios if seguidos. Cada uno se evalúa por separado.

Ejemplo:

if – else

Permite ejecutar un bloque si se cumple la condición (if) y otro diferente si no se cumple (else).

Ejemplo:

if con varios else (if – elif – else)

Se usa cuando tienes varias condiciones distintas. El programa ejecuta solo el primer bloque que sea verdadero.

 Ejemplo:

If anidado (if dentro de otro if)

Sirve para comprobar condiciones más complejas.

Ejemplo:

¿Cuál es la diferencia entre usar varios if y usar if...elif...else?

  • Cuando usas varios if, todos se evalúan.
  • Cuando usas if…elif…else, se detiene en la primera condición verdadera.

Uso de varios if seguidos con un else final

En este caso, cada if se evalúa de forma independiente. El else solo está asociado al último if.

Ejemplo original:

Explicación:
Aunque hay varios if, no están conectados entre sí.

El else solo se ejecuta si el if justo antes de él es falso.

No significa que sea un else general para todos los if anteriores.

Comparación con otro caso:

if – elif – else

Esta estructura se usa cuando quieres evaluar una serie de condiciones mutuamente excluyentes. Solo se ejecuta una de ellas: la primera que sea verdadera.

Ejemplo original con confusión común:

Explicación:
En este caso hay dos bloques separados:

El primer if está solo, y se evalúa por separado.

Luego viene un bloque if – elif – else, donde solo se ejecutará uno de ellos (el primero que sea True).

Como el if x > 15 es False, se pasa al siguiente elif, pero este también es False, y el siguiente también.

Al final, como ninguna condición fue True, se ejecutaría el else, pero en el código original el if x == 10 ya se ejecutó y no forma parte del bloque con los elif, por eso puede generar confusión.

Mejor versión del ejemplo para evitar confusiones:

Condicionales anidados (nested conditionals)

Esto ocurre cuando metes un if, elif o else dentro de otro if. Es útil cuando necesitas comprobar varias condiciones relacionadas entre sí.

Ejemplo original:

Explicación:
Primero se evalúa x > 5 → como es True, el programa entra al bloque interior.

Luego se comprueba x == 6, que es False.

Pasa al elif x == 10, que es True, por tanto se imprime «nested: x == 10».

El else de dentro no se ejecuta porque ya se ha cumplido el elif.

Otro ejemplo sencillo:

Ejercicio práctico

Preguntas:

¿Qué imprime este código?

¿Qué pasaría si edad = 16?

¿Qué ocurriría si pais = «México»?

¿Y si trabaja = False?

1. ¿Qué imprime este código?
edad = 20 → edad >= 18 es True → imprime:
«Es mayor de edad»

trabaja = True → se ejecuta el if trabaja → imprime:
«Tiene trabajo»

pais = «España» → se cumple el primer if del segundo bloque → imprime:
«Vive en España»

2. ¿Qué pasaría si edad = 16?
Revisamos el primer bloque:

edad = 16 → edad >= 18 es False → se salta el bloque del if y entra en el else:
«Es menor de edad»

trabaja no se evalúa, porque está dentro del if edad >= 18, y este no se cumple.

pais = «España» sigue igual → se imprime también:
«Vive en España»

3. ¿Qué ocurriría si pais = «México»?
En ese caso, el segundo bloque cambia:

pais == «España» → False

elif pais == «México» → True → se imprime:
«Vive en México»

El resto no cambia (si edad = 20 y trabaja = True como en el ejemplo original).

4. ¿Y si trabaja = False?
Veamos el primer bloque con trabaja = False:

edad = 20 → sigue siendo mayor de edad → imprime:
«Es mayor de edad»

trabaja = False → se salta el if trabaja y entra en el else:
«No tiene trabajo»

Licencia Creative Commons Contenido Web de Yolanda Muriel está sujeto bajo Licencia Creative Commons Atribución-NoComercial-SinDerivadas 3.0 Unported.

Deja un comentario