LEARNING PYTHON , Parte 5 , Sentencia if

Python if – Sentencia básica

 

En Python, la sentencia if se utiliza para ejecutar un bloque de código si, y solo si, se cumple una determinada condición. Por tanto, if es usado para la toma de decisiones.

La estructura básica de esta sentencia if es la siguiente:

 

Es decir, solo si condición se evalúa a True, se ejecutarán las sentencias que forman parte de bloque de código. En caso de que se evalúe a False no se ejecutará ninguna sentencia perteneciente a bloque de código.

Aquí, condición puede ser un literal, el valor de una variable, el resultado de una expresión o el valor devuelto por una función.

En las expresiones es muy común usar los operadores booleanos y de comparación.

El cuerpo del bloque está indicado con un sangrado mayor. Dicho bloque termina cuando se encuentre la primera línea con un sangrado menor.

Veamos un ejemplo:

En el código anterior la variable x toma el valor 17. En la línea 2, la condición de la sentencia if evalúa si x es menor que 20. Como el valor devuelto por la expresión es True, se ejecuta el bloque del if, mostrando por pantalla la cadena x es menor que 20.

Veamos otro ejemplo:

En este caso tenemos una lista de valores. El if comprueba si el número 5 se encuentra entre estos valores. Como la expresión devuelve como resultado False, porque 5 no está entre los valores, el código anterior simplemente mostrará por pantalla la cadena fin.

Si repetimos el ejemplo anterior, modificando la condición a esta otra 3 in valores, el resultado del programa sería:

En principio, en Python todos los objetos/instancias se evalúan a True a excepción de NoneFalse0 de todos los tipos numéricos y secuencias/colecciones vacías, que se evalúan a False.

 

Sentencia if … else

Hay ocasiones en que la sentencia if básica no es suficiente y es necesario ejecutar un conjunto de instrucciones o sentencias cuando la condición se evalúa a False.

Para ello se utiliza la estructura if ... else... Esta es estructura es como sigue:

 

Imagina que estás implementado un programa en el que necesitas realizar la división de dos números. Si divides un número entre 0, el programa lanzará un error y terminará. Para evitar esto, podemos añadir una sentencia if ... else... como en el ejemplo siguiente:

El resultado del script anterior es 5.0. Si ahora actualizamos el valor de y a 0, el resultado sería este otro:

No se puede dividir 10 entre 0

if … elif … else

También es posible que te encuentres situaciones en que una decisión dependa de más de una condición.

En estos casos se usa una sentencia if compuesta, cuya estructura es como se indica a continuación:

Es decir, en esta ocasión, se comprueba la condición cond1. Si se evalúa a True, se ejecuta el bloque bloque cond1 y después el flujo continúa después del bloque if.

Sin embargo, si cond1 se evalúa a False, se comprueba la condición cond2. Si esta se evalúa a True, se ejecuta el bloque de sentencias bloque cond2. En caso contrario, pasaría a comprobar la condición del siguiente elif y así sucesivamente hasta que llegue al else, que se ejecuta si ninguna de las condiciones anteriores se evaluaron a True.

Veamos un ejemplo. Imagina que queremos comprobar si un número es menor que 0, igual a 0 o mayor que 0 y en cada situación debemos ejecutar un código diferente. Podemos hacer uso de la estructura if … elif … else anterior:

 

En el ejemplo anterior x toma el valor 28. La primera condición de la sentencia if se evalúa a False y pasa a la siguiente (a la del bloque elif). En esta ocasión, la expresión se evalúa a True, mostrándose por pantalla la cadena 28 es mayor que 0.

 

 

Sentencias if anidadas

Para terminar este tutorial, simplemente me gustaría añadir que en cualquiera de los bloques de sentencias anteriores se puede volver a incluir una sentencia if, o if … else … o if … elif … else …

Por ejemplo, podemos simular el caso de la última sección de la siguiente manera:

 

 

Evitar explosiones eficazmente: introducción a la protección ATEX

Últimas noticias

DIAGRAMA DE CONTROL PLC

PROFINET

ROBOTICA

HIDRÁULICA

EPLAN Electric

VISIÓN ARTIFICIAL

NEUMÁTICA

ENERGY EFFICIENCY IN INDUSTRY

HERRAMIENTAS ANTICHISPAS ATEX / EX