top of page

Flujo de control. Condicional IF.

El flujo de control de un programa es el orden en el que se ejecutan las líneas, suele ser de arriba hacia abajo, aunque, puede ser alterado por diferentes causas, entre ellas el condicional IF.


El condicional IF comprueba una condición, y, dicha condición nos devolverá True, o, False.


Si es True, se ejecuta una serie de líneas, y, si es False, se ejecuta otra serie de líneas.


En la mayoría de los casos, deberemos de realizar una pregunta.


Las sentencias condicionales, también son conocidas como sentencias de decisión.


·        La condición puede ir encerrada entre paréntesis, o, no.

·        Al final de la condición debemos de poner dos puntos.

·        El argumento si la condición se cumple debe de tener como mínimo una sangría de 4 espacios.

 

Veamos un pequeño ejemplo.


Creamos una variable como sigue:


Pulsamos Enter.


Ponemos el condicional IF, preguntamos si la variable valor es mayor a 20, después de la pregunta, debemos de poner dos puntos, a continuación, ponemos print, y, entre comillas dobles, ponemos ok.


Pulsamos F5, y, nos devuelve ok.


Pero, y ¿si no se cumple la condición?, pues, pulsamos Enter, ponemos la palabra else (en caso contrario), ponemos dos puntos, pulsamos Enter, y, entre comillas dobles, ponemos no ok, las líneas de código deben de tener el sangrado comentado anteriormente.


Cambiamos el valor de la variable a 15, pulsamos F5, y, nos devuelve no ok.


Si pulsamos Enter después de print(“ok”), quiere decir que sigue formando parte de la condición, por ejemplo:


Pulsamos F5, como la condición se cumple, nos devuelve ok, y, bien.


Lo mismo para else.


Después de print(“no ok”), pulsamos tres veces Enter, quiere decir, que lo que vamos a escribir ya no forma parte del IF, y, se ejecutara de todas formas.


Al pulsar F5, vemos que aparece ok, bien, y, se acabó.


Podemos usar el operador and, vamos a realizar dos preguntas, ya sabemos que cuando usamos and, las condiciones deben de ir entre paréntesis, la primera condición es que la variable valor sea mayor a 10, y, la segunda condición es que la variable valor sea menor a 20.


Si se cumple la condición, imprimimos no se cumple la condición, pulsamos enter, ponemos else:, y, si no se cumple la condición, ponemos se cumple la condición.


Pulsamos F5, y, nos devuelve se cumple la condición.


Vamos a ver otro ejemplo, creamos una variable, usamos input, abrimos paréntesis, entre comillas dobles, ponemos Introduzca valor:, dejamos un espacio, cerramos comillas dobles, y, paréntesis.


Creamos otra variable, usamos la función LEN, como argumento ponemos la variable valor, nos va a devolver la longitud de la cadena.


Solo se aceptan valores cuya longitud sea menor a 4 caracteres, en la siguiente línea, ponemos IF, dejamos un espacio, ponemos la variable longitud, comparamos con mayor a 3, ponemos dos puntos, es decir, estamos preguntando si la variable longitud es mayor a 3.


Pulsamos enter, si no deja de forma automáticamente la sangría, debemos de ponerla nosotros, ponemos print, abrimos paréntesis, entre comillas dobles, ponemos La longitud del texto, debe de ser inferior a 3 caracteres.


Quiere decir que, si la condición se cumple, imprimirá La longitud del texto, debe de ser inferior a 3 caracteres.


Pulsamos dos veces enter.


Ponemos else:, es decir, en caso contrario.


Imprimimos la variable valor, es decir, si no se cumple la condición, va a imprimir la variable valor.


Pulsemos F5, voy a introducir un valor de 4 caracteres, y, pulso enter, y, nos devuelve:


Al introducir una cadena de 3 o menos caracteres, nos devuelve la variable valor.

 

IF anidado

Vamos a ver ahora lo que se conoce como un IF anidado, un IF anidado es un IF dentro de otro, por ejemplo, siguiendo con el ejemplo anterior, vamos a preguntar si la variable valor es menor a 25, que ponga hacia abajo.


Pulsamos dos veces Enter.


Ponemos otro IF, y, preguntamos si la variable valor es igual a 25, es decir, si el primer IF o se cumple, ejecutara el segundo IF, en este caso, que ponga exacto.


Pulsamos dos veces Enter.


Ponemos otro IF, y, preguntamos si la variable valor es mayor a 25, es decir, si no se cumple el primer, ni segundo IF, comprobara el tercer IF, si un IF se cumple, no comprueba el resto de IF.


Pulsamos F5, y, nos devuelve exacto.


Ahora, en el tercer IF, vamos a delimitar la búsqueda, vamos a preguntar si la variable valor es mayor o igual a 25, y, menor o igual a 25, para ello, la primera pregunta la encerramos entre paréntesis, preguntamos si la variable valor es mayor o igual a 25, ponemos el operador lógico and, abrimos otros paréntesis, y, preguntamos si la variable valor es menor o igual a 50.


Pulsamos F5, y, nos devuelve hacia arriba.


Cambiamos el valor de la variable a 100, si pulsamos F5, no nos devolverá nada, porque no se cumple ninguno de los tres IF, pues, después del último IF, pulsamos dos veces Enter, ponemos else (en caso contrario), seguido de dos puntos, pulsamos Enter, ponemos print, y, entre comillas dobles, ponemos fuera de los límites.


Pulsamos F5, y, nos devuelve fuera de los límites.


Vamos al tercer IF, después de (valor>=25) and (valor<=50), ponemos el operador or, y, preguntamos si la variable valor es mayor o igual a 51, y, menor o igual a 100.


Ahora, el valor 100 se cumple en la tercera condición, pulsamos F5, y, nos devuelve hacia arriba.


Vamos a cambiar la condición si se cumple del tercer IF, vamos a poner que multiplique la variable valor por 1.


Nos devuelve 200.


Volvemos al tercer IF, y, cambiamos IF por ELIF, que significa en caso contrario sí, podemos añadir tantos elif como queramos, se evalúan en orden.


Pulsamos F5, y, obtenemos el mismo resultado, antes de poner ELIF, cuando teníamos los tres IF, hacia una primera pregunta, si no se cumplía hacia una segunda pregunta, pero ahora, hace una primera pregunta, y, si no se cumple la condición realizara la segunda pregunta.



Miguel Angel Franco

 
 
 

Comentarios


© 2019 Miguel Ángel Franco García

bottom of page