Bienvenidos sean a este post, hoy hablaremos sobre el condicional mas difundido entre todos los lenguajes.
Como dijimos este condicional verifica si una condicion informada es verdad o no, en caso de ser verdadero procede a ejecutarlo de lo contrario lo omite, veamos su sintaxis mas basica:
>>> logueo = 1
>>> if logueo :
... print("Ingresaste correctamente")
...
Ingresaste correctamente
>>>
Primero vamos a crear una variable llamada logueo y le pasaremos el valor de 1, recuerdan que significa? Equivale a decir que es True, luego tenemos un condicional donde verifica si logueo es igual a True, esto lo hace implicitamente porque como dijimos antes siempre verifica si la condicion es verdadera, despues vemos que siguen dos puntos (:) dando pie a llamar una funcion en este caso para mostrar un mensaje de que se ingreso correctamente pero que sucede si no se cumple la condicion? Veamos:
>>> logueo = 0
>>> if logueo :
... print("Ingresaste correctamente")
...
>>>
Para probarlo cambiamos el valor de logueo a 0, es decir a False, y si volvemos a cargar el mismo condicional veremos que no nos informa el ingreso correcto porque no se cumplio la condicion pero como podemos manejar un estado u otro? Aqui entra en accion su contraparte como es else.
Else es una expresion que significa «de lo contrario», es decir si no se cumple la primer condicion siempre ejecutara el bloque que posee, veamos primero su sintaxis:
if condicion : <instrucciones> else : <instrucciones>
Esta es la condicion mas basica, vamos a tomar el ejemplo anterior y vamos a agregar el condicional else:
>>> logueo = 0
>>> if logueo :
... print("Ingresaste correctamente")
... else:
... print("No pudiste ingresar")
...
No pudiste ingresar
>>>
En este caso agregamos el bloque de else, con un mensaje para mostrar la falla del mismo, si cambian el valor de logueo por 1 o True pueden ver como va a mostrar el mensaje original, hasta aqui tenemos una estructura basica para controlar una condicion verdadera y una condicion falsa pero que sucede si tenemos otras condiciones? Por ejemplo tenemos un menu con mas de una opcion como podemos manejarlo? en este caso entra en accion un condicional mas.
En este caso tenemos el condicional elif para chequear una condicion mas antes del else, veamos su sintaxis basica:
if condicion : <instrucciones> elif condicion : <instrucciones> else : <instrucciones>
En este caso agregamos el elif entre el condicional original y el else, tanto el condicional original como el else pueden usarse una sola vez pero los elif podemos usar todos los que sean necesarios, vamos a suponer que ahora tenemos un menu para distintas acciones y debemos elegir en base al ingreso del usuario la accion correspondiente, para el caso vamos a tener cinco acciones con un numero que lo identifique:
- 1-Ejecutar la app1
- 2-Ejecutar la app2
- 3-Abrir intranet
- 4-Ingresar a internet
- 5-Salir
Con esto establecido vamos a crear el codigo que usaremos para chequear esto, primero crearemos una funcion:
>>> def chequeo(menu) :
... if menu == 1 :
... print("Se ejecuta la app1")
... elif menu == 2 :
... print("Se ejecuta la app2")
... elif menu == 3 :
... print("Abriendo la intranet")
... elif menu == 4 :
... print("Ingresando a internet")
... else :
... print("Saliendo del menu")
...
>>>
En esta funcion vamos a recibir un valor y lo almacenamos en la variable menu, luego tenemos un condicional donde verificamos los valores del 1 al 4, en cada uno de los casos mostraremos un mensaje de acuerdo a la accion que establecimos anteriormente, dijimos los valores del 1 al 4 porque el numero 5 ejecutara la opcion de salir pero esta condicion es para verificar que ninguna de las cuatro condiciones se cumplieron y por lo tanto saldra con el valor de 5, 0 o cualquier otro que no sea de 1 a 4, con esta funcion creada vamos a ejecutarlo, veamos el siguiente ejemplo:
>>> m = 3
>>> chequeo(m)
Abriendo la intranet
>>>
Si observamos el ejemplo vemos como al recibir el valor 3 nos devuelve el mensaje del condicional que evalua por el valor 3, vamos a probar con otro valor:
>>> chequeo(4)
Ingresando a internet
>>>
Podemos pasarlo como variable pero tambien como un valor directo y ahora vamos probar lo que comentamos ingresemos varios valores fuera del rango 1-4:
>>> chequeo(0)
Saliendo del menu
>>> chequeo(5)
Saliendo del menu
>>> chequeo(255)
Saliendo del menu
>>>
Como pueden ver cualquier valor que este fuera de ese rango nos devolvera la ultima opcion de los condicionales, con esto hemos cubierto la sintaxis basica para crear condiciones y que nuestros programas comiencen a tener cierta inteligencia porque podran tomar algunas decisiones, antes de finalizar vamos a hablar sobre el operador ternario.
El operador ternario es una buena forma de resumir un condicional if / else para un valor, en general tiene a ser una verificacion de una condicion y en caso de cumplirse paso el primer valor de lo contrario pasa otro, su sintaxis es asi:
variable = valor if condicion else otro_valor
Para entenderlo mejor veamos el siguiente ejemplo:
>>> valor = 300
>>> descuento = 25 if valor > 100 else 0
>>> print(valor, descuento)
300 25
>>>
Vamos a establecer un variable definida y llamada valor, luego tenemos otra variable llamada descuento con un valor de 25 seguido de un condicional donde verifica si valor es mayor a 100, si esta condicion es verdad utiliza el valor que usamos primero de lo contrario le asignara el valor de 0, despues mostramos en pantalla ambos valores, vamos a probar lo mismo pero a valor le asignaremos 50 en lugar de 300, veamos que sucede:
>>> valor = 50
>>> descuento = 25 if valor > 100 else 0
>>> print(valor, descuento)
50 0
>>>
Como podemos ver si no se cumple la condicion establece a descuento con el valor de 0, tal como vemos al final del ejemplo.
En resumen, hoy hemos visto el condicional universal por excelencia en todo lenguaje de programacion, hemos visto como trabaja else, como podemos usar a elif, para que nos sirven estas otras dos condiciones, como podemos adaptarlos para nuestras necesidades y como nos pueden brindar una «inteligencia» en nuestros codigos, tambien hemos visto una version abreviada que nos puede resultar util bajo ciertas circunstancias, espero les haya sido util sigueme en tumblr, Twitter o Facebook para recibir una notificacion cada vez que subo un nuevo post en este blog, nos vemos en el proximo post.


Donación
Es para mantenimento del sitio, gracias!
$1.00
