APRENDE PYTHON YA! Libro: Los pilares de python. #14 — Flujo de ejecución (Loops y Condicionales)



“La acción es la llave fundamental de todo éxito”.-Pablo Picasso

Antes de comenzar hablando sobre los loops o bucles “for” y “while” y los condicoinales (if) , debemos introducir el flujo de ejecucción.

Es decir, cómo lee el interprete el intérprete de python nuestras líneas de código?

El interprete comienza a leer la primera línea comenzando desde arriba de izquierda a derecha y continúa hasta abajo.

Es decir tendría una forma como la siguiente:

Sin embargo, podemos modificarlo con las herramientas de control de flujo (for, while, if y las funciones).

IF

Los if, o condicionales, permiten añadir una bifurcación en el flujo de código al añadir un Si ocurre algo entonces que pase algo. Para escribir una sentencia if simplemente hay que escribir lo siguiente:

age=16
if age <18: 
print ("You are under 18" )
else: 
print ("You are over 18")

Cuando el interprete llega al if se produce una bifurcación en el flujo. Si la siguiente línea de código es True entonces se ejecuta lo que esta debajo del if. Ten en cuenta que en python, a diferencia de otros lenguajes de programación como C++ o javascript, simplemente se escribe la línea del condicional y si es True entonces se ejecuta la siguiente, las cuales estan identadas con el tabulador.

Gráficamente, se podría representar de la siguiente forma.

Para terminar con los condicionales, si queremos seguir lanzando condicionales, podemos hacerlo con elif.

age=14
if age <18: 
print ("You are under 18" )
elif 18< age <20: 
print("The age is between 18 and 20")

elif 20< age<25:
print ("The age is between 20 and 25")

else:
print ("You are over 25)

Hay otra forma de gestionar el control de flujo y consiste en hacer que el código se repita varias veces. Es lo que se conoce dentro de los lenguajes de programación como loop. Los loop se pueden escribir en python como for o como while.

For lo utilizaremos cuando conocemos el número de veces que vamos a repetir el código, por ejemplo:

for i in range(10): 
print ("hello")

De forma grafica lo veriamos así:

En el caso de que no conozcamos el número de veces que vamos a itererar sobre ciertas partes del código podemos simplemente, utilizar while:

i=0
while i<10:
print ("hello")
i +=1

Cuando utilicemos while, no tenemos que olvidar inicializar la variable al principio e incrementarla posteriormente dentro del mismo while.

La tercera forma de manipular el control de flujo es con las funciones.

Las funciones se utilizan para encapsular líneas de código en tan solo una palabra con el objetivo de volver a reutilizarla y limpiar el código. Lo más importante es entender que el interprete cuando lee el término “def”, el cual es el utilizado para crear las funciones o como se dice en programación (“definir una función”) automáticamente lo que hace es entender que lo que sigue es una función y recordar que en esa posicón había una función llamada X. Por ejemplo.

def saludo(): 
print ("Hello")
saludo()

gráficamente sería como lo siguiente:

Lo más importante de las funciones son 2 cosas:

  1. La posibilidad de escribir parametros dentro de los paréntesis.

Un ejemplo del uso de los parámetros:

def suma(a,b): 
print ("Sum is:", a+b)

suma(10,2)# 'Sum is:', 12

Como podemos ver al declarar la variable hemos también escrito dentro de los paréntesis dos parámetros, los cuales es suma total es a+b =12 en este caso. En el siguiente capítulo hablaremos de algo muy importante como es el scope y que tiene mucho que ver con el uso de funciones.

2. El término return. El cual se utiliza para que la función devuelva algo cuando la llamas. Por ejemplo, utilizando el ejemplo que acabamos de hacer:

def suma(a,b): 
return (a+b)

print (suma(10,2))#'Sum is:', 12

A pesar de que pueda parecer lo mismo, la mayor diferencia reside en que si utilizamos el término return podemos guardar dicho resultado en una variable y podemos obtener más de un resultado. Por ejemplo:

def operation(word): 
a=10
b=4
if word==1:
return a+b
elif word==2:
return a-b
elif word==3:
return a*b
elif word==4:
return a/b
else:
return "Please type any of the options: 1,2,3,4"

a=input("select one of the following options:1,2,3,4 ===> ")
operation(a)

En este último ejemplo, lo que hace el intérprete es leer primero la función y posteriormente preguntar por un “input” (lo que significa que el usuario escribe con su tenclado”) y lo guarda en la variable a. Posteriormente, llama a la función operación y le pasa como paramentro la variable a.

Hasta aqui las tres formas de manipular el flujo de ejecución en programación. En la siguiente lección veremos el scope.

— — — — — — — — — — — — — — The End — — — — — — — — — — — — —

Si te gusta esta pequeña y gratuita revista nos puedes ayudar simplemente compartiéndola o suscribiéndote a la publicación. Me llamo Rubén Ruiz y trabajo en Inteligencia Artificial en la industria financiera y como proyecto personal llevo esta pequeña revista donde experimentamos con Inteligencia Artificial … hasta que explota el ordenador :) Puedes seguirme en:

Instagram (Vida personal, es divertido) => @rubenruiz_t

Youtube (Canal sobre IA, intento que sea divertido )=> Rubén Ruiz A.I

Github (Donde subo mi código, esto ya no es tan divertido) => RubenRuizT

Source: Deep Learning on Medium