Estructuras Selectivas en Python

En este artículo describiremos cómo se implementa la estructura algorítmica selectiva, también conocidas como estructuras condicionales, en el lenguaje Python. Si te interesa conocer al detalle las diferentes formas de uso de esta estructura de control de flujológica de programación y entender cómo funcionan las selectivas simpledoblesanidadas y múltiples, te invitamos a que visites nuestro artículo Estructura Algorítmica Selectiva. Si te interesa conocer como se implementa esta estructura en otros lenguajes de programación, te invitamos a que accedas a los siguientes enlaces en donde podrás ver la implementación de esta estructura en ANSI C y Java.

El análisis de la estructura selectiva simple se encuentra sintetizado en el vídeo «Selectiva Simple en Python» en nuestro canal de YouTube. Te invitamos a que lo visites.

A continuación presentamos la instrucción selectiva simple en Python. Se implementa mediante la instrucción \texttt{if} como en la mayoría de los lenguajes de programación. La \texttt{condición} va inmediatamente después del \texttt{if}.

En relación a la condición, esta deberá ser una proposición lógica. Recordando que Python implementa como tipo de dato primitivo el \texttt{bool}. El tipo de dato \texttt{bool} puede contener únicamente dos valores  \texttt{True} o \texttt{False}.

Note que, al finalizar la condición, debe colocarse dos puntos (\texttt{:}). Esto es necesario en Python. Además Python se caracteriza por no usar un símbolo para deliminar el bloque de instrucción. Este lenguaje reconoce el bloque dentro del \texttt{if} debido a la identación o sangría de las instrucciones. Otro punto a considerar en Python es que las instrucciones no finalizan con ningún símbolo como en ANSI C o Java.

if condición:
    conjunto de instrucciones 

Estructura Selectiva Doble

El análisis de la estructura selectiva doble se encuentra sintetizado en el vídeo «Selectiva Doble en Python» en nuestro canal de YouTube. Te invitamos a que lo visites.

A continuación presentamos la instrucción selectiva doble en Python. La selectiva doble tiene dos caminos El camino que se ejecuta cuando la \texttt{condición} es verdadera, se implementa mediante la instrucción \texttt{if} como en la selectiva simple. La \texttt{condición} va inmediatamente después del \texttt{if} y finaliza con dos puntos (\texttt{:}). El camino que se ejecuta cuando la \texttt{condición} es falsa, se implementa mediante la instrucción \texttt{else}, la cual también finaliza con dos puntos (\texttt{:}).

if condición:
    conjunto de instrucciones V
else:
    conjunto de instrucciones F 

Estructura Selectiva Anidada​

El análisis de la estructura selectiva anidada se encuentra sintetizado en el vídeo «Selectiva Anidada en Python» en nuestro canal de YouTube. Te invitamos a que lo visites.

A continuación presentamos un posible uso de selectivas anidadas en Python. Como podrá notar, se tiene una selectiva doble (selectiva con la \texttt{condición2}) dentro de una selectiva doble (selectiva con la \texttt{condición1}). Esto permite que un algoritmo pueda decidir sobre más de dos flujos posibles, lo cual es muy común en el diseño algorítmico.

if condición1:
    conjunto de instrucciones V1
else:
    if condición2:
        conjunto de instrucciones V2
    else:
        conjunto de instrucciones F2 

Ahora, dado que este tipo de uso de anidación de selectivas es muy común en la programación, Python ofrece una alternativa que permite realizar la misma tarea pero hace el código más fácil de leer y entender para el ojo humano. Python incluye la instrucción \texttt{elif} que permite juntar el \texttt{else} de la instrucción selectiva más externa con el \texttt{if} de la instrucción selectiva más interna.

Fíjese en el código que se presenta a continuación y compárelo con el anterior, ¿cuál es más fácil de comprender?

if condición1:
    conjunto de instrucciones V1
elif condición2:
    conjunto de instrucciones V2
else:
    conjunto de instrucciones F2 

Conclusión

En este artículo hemos presentado la implementación de la estructura algorítmica selectiva en Python. Se han descrito la implementación de las diferentes formas de uso de esta estructura poniendo énfasis en las selectivas simpledobles y anidadas. Si te interesa conocer como se implementa esta estructura en otros lenguajes de programación, te invitamos a que accedas a los siguientes enlaces en donde podrás ver la implementación de esta estructura en ANSI C y Java.

Si te interesa profundizar más en el desarrollo en Python, los dos mejores libros que se han escrito son Learning Python de Mark Lutz y Python Crash Course de Eric Matthes.