If … else Python: 9.- Condiciones

Ahora es cuando entramos a la parte divertida en la programación. Cuando queremos que un programa ejecute una acción dependiendo de alguna condición (interna o externa), necesitamos hacer uso de algún tipo de estructura que nos permita llevarlo a cabo. En este tutorial hablaremos de la estructura if (del inglés si, como condicionante; «si no me fijo, me puedo caer».

Esta estructura nos permite contar con una o varias condiciones, en uno o varios escenarios. Supongamos que queremos saber el precio de un vehículo, ¿de qué dependería ese precio? Puede ser su tipo, camioneta, sedán, motocicleta, etc. También puede depender de su modelo, o marca, por lo cual cada una de esas categorías tendría otras subsecuentes categorías. Digamos que queremos saber el precio de un sedán marca Hyundai, pero el vendedor nos ofrece otras 3 opciones, el de lujo, el estándar o la versión para plataformas. Posteriormente puede ser que cada uno de ellos tenga la versión automática o manual.

Estructura if

Puede que creas que es complicado, pero la estructura if realmente facilita bastante este tipo de selecciones dentro de la programación. Básicamente, lo que indicamos con ella en el programa es que si una condición determinada es verdadera, se debe acceder a esa sección de código y realizar la acción que se encuentra dentro, de lo contrario, se saltará a verificar la condición siguiente para ver si se cumple.

¿Cómo declarar una condición?

Al establecer una condición en un programa, nosotros solicitamos que cierto dato sea comparado con otro para ver si son iguales, diferentes, más grandes, más pequeños, etc. Esto lo realizamos mediante operadores de comparación, los cuales son:

  • Igual a: a == b
  • Distinto a: a != b
  • Menor que: a < b
  • Menor o igual que: a <= b
  • Mayor que: a > b
  • Mayor o igual que: a >= b

Estas condiciones pueden ser usadas de distintas maneras, más comunmente en instrucciones if y en ciclos.

Respecto a sintaxis cabe aclarar algunos puntos. No es lo mismo igual de asignación (=) a igual de comparación (==), ya que el primero cambia el valor de la variable y la segunda compara una variable con otra. También debemos cuidar el orden en el cual se escriben los símbolos de los comparadores, por ejemplo, si en lugar de escribir menor o igual (<=) escribimos igual o menor (=<) el compilador no reconocerá el símbolo y marcará un error.

Estructura if

Para nuestro primer ejemplo utilizaremos dos variables, a y b, que son usadas como parte de la estructura if, siendo la llave que determinará si el programa ejecuta o no esa sección de código. Nuestra condición establece que si b es mayor que a, deberá imprimirse en pantalla el mensaje indicado.

Tenemos los siguientes aspectos a considerar y tener presentes:

  1. La instrucción que se seguirá de cumplirse la condición comienza a partir de los dos puntos. Es importante colocarlos siempre.
  2. La indentación es importante, ya que de omitirla, el programa no ejecutará nada de lo que se encuentre después de los puntos. Podríamos decir que la indentación es nuestra forma de señalar dónde termina la instrucción.
estructura if
Error si omitimos los dos puntos al final de la condición
Estructura if
Error si omitimos la indentación

Elif

Como mencionábamos antes, una estructura if puede contener infinidad de escenarios, donde cada uno es un apartado diferente. La palabra reservada elif (else if, de otra forma, si…) es una manera de decirle al compilador «si las condiciones anteriores no fueron verdaderas, intenta esta condición».

En este ejemplo, a y b son iguales, así que la primer condición no se cumple, pero la siguiente condición es verdadera, así que se imprime el mensaje que contiene la segunda condición y no la primera.

Else

La palabra reservada else nos ayuda a abarcar cualquier otra cosa que no se encuentre dentro de las condiciones que nosotros dimos.

En este ejemplo, a es mayor que b, por lo que ninguna de las dos primeras condiciones se cumple, así que el programa salta a la condición else y realiza la instrucción. Como nota, no es necesario que exista un elif antes de un else, ya que puede colocarse directamente después del primer if.

Si tenemos solamente una condición a ejecutar o es una instrucción corta, puede colocarse en una sola linea, aún si contiene un else (que puede o no llevarlo)

And

La palabra reservada and es un operador lógico, y se usa para combinar dos (o más) sentencias condicionales. Funciona de la misma manera en que lo haría una compuerta en un circuito, ya que ambas condiciones deben ser verdaderas para que el programa acceda a la secuencia.

500 > 200 > 33
c a b

Or

La palabra reservada or también es un operador lógico, pero en este caso indica que si cualquiera de las condiciones que se dan es verdadera, la secuencia se ejecutará.

100 < 200 > 33
c a b

If anidado

Cuando tenemos literalmente opciones dentro de las opciones, podemos colocar las que necesitemos, anidadas, dentro de otras. Aquí es donde entra en juego nuestra habilidad para hacer programas limpios que nos permitan saber qué está pasando dónde en cada momento.

En estos dos ejemplos observamos que el mensaje final cambia porque la variable x cambia, así que las condiciones que se cumplen son distintas. Si ingresaramos un valor menor a 10, el programano ejecutaría ninguna acción ya que la condición del if exterior no se cumpliría. Te invitamos a comprobarlo utilizando el código al final del tutorial y copiándolo a GDB online.

Sentencia Pass

Las secuencias if no pueden quedar vacías, puesto que esto genera problemas con el programa. Pero si por algún motivo necesitas una condición sin acciones, puedes poner la palabra reservada pass para evitar estos problemas.

Pass para no realizar ninguna acción

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *