8

ENTENDIENDO LAS CONDICIONALES. Una mirada profunda 馃憖

Fata毛
Fatae
3202

Todo buen desarrollador necesita poder entender y comprobar las condicionales que usamos.

馃幆 El objetivo: poder cambiar al comportamiento de un programa, entender el flujo, fluir con 茅l.

Bueno, pues las declaraciones condicionales nos dan esa habilidad.


Empecemos con la m谩s sencilla:

Condicional if:

La expresi贸n boolena despu茅s del if es llamada la condici贸n.
Y la(s) l铆nea(s) despu茅s del if debe ir identada.

Si la condici贸n es verdadera, entonces la identaci贸n es ejecutada.
Si la condici贸n es falsa, la declaraci贸n identada es saltada.

ifx > 0 :
    print('x is positive')

Una segunda forma de la declaraci贸n if es cuando tiene dos posibilidades y el valor de la condici贸n determina cual de las dos es ejecutada.
La sintaxis es as铆:

if x%2 == 0 :
    print('x iseven')
else :
    print('x isodd')

Ya que la condici贸n debe ser verdadera o falsa, se ejecutar谩 una y s贸lo una de las dos alternativas. Estas alternativas se llaman ramas 馃尶, porque son ramas en el flujo de ejecuci贸n.


Condicionales Encadenadas:

Algunas veces tenemos m谩s de dos posibilidades y necesitamos m谩s de dos ramas.
Una manera de expresarlo es con las condicionales encadenadas.

ifx < y:
    print('x is less than y')
elif x > y:
    print('x is greater than y')
else:
    print('x and y are equal')

馃憖 Observaci贸n: elif es una abreviaci贸n de 鈥else if鈥.
De nuevo, 煤nicamente una de las ramas es ejecutada.

鈿狅笍 Cada condici贸n es checada en orden.
Si la primera es falsa, la siguiente es revisada y as铆 sucesivamente.
Si una de ellas es verdadera, su rama correspondiente es ejecutada y la declaraci贸n termina.
Incluso si m谩s de una condici贸n es verdadera, s贸lo la primera rama que sea evaluada como verdadera ser谩 ejecutada.


Condicionales Anidadas

Esta es la m谩s interesante, mira este hermoso flujo 馃ぉ :

Esto sucede cuando una condicional es incorporada dentro de otra y tiene diversos niveles.

Podr铆amos escribir tres ramas, por ejemplo (su diagrama de flujo es el de arriba 鈽濓笍):

ifx == y:
    print('x and y are equal')
else:
    ifx < y:
        print('x is less than y')
    else:
        print('x is greater than y')

La primera condicional contiene dos ramas. La primera contiene una declaraci贸n simple y la segunda contiene una declaraci贸n if la cual tiene otras dos ramas propias.

Las condicionales anidadas pueden ser dif铆ciles de leer r谩pidamente y en general es buena idea evitarlas si se puede.

Los operadores l贸gicos suelen ser una forma de simplificar las declaraciones condicionales anidadas.

Por ejemplo, el siguiente c贸digo puede ser reescrito usando una simple condicional.

if0 < x:
    ifx < 10:
        print('Soy positivo y ya casi acabamos amix')

Con operador l贸gico 鈥渁nd鈥 quedar铆a as铆 (ve que elegancia la de Francia 馃槺):

if0 < x and x < 10:
    print('Soy positivo y ya casi acabamos amix')

Aqu铆 el printes ejecutado 煤nicamente si son verdaderas ambas condicionales, entonces conseguimos el mismo resultado con el operador 鈥渁nd鈥.


Concluimos con 茅sto, as铆 que, eso es todo amigos 馃槂

Escribe tu comentario
+ 2
2
6744Puntos
  1. Muy buen aporte, los diagramas de flujo, son en mi opinion, una de las mejores maneras de entender las condicionales, el componente visual ayuda mucho.