Estructuras de control: if else

En el post ¿Qué es la programación? creamos nuestro propio algoritmo muy sencillo que hacía la suma de 2 números pero un algoritmo al fin y al cabo. Los algoritmos incorporan una lógica que van a permitir darle potencia a nuestro programa. Esta lógica se conoce como estructuras de control y vamos a hablar de la más básica: if else, que en español se traduciría por: si "pasa esto" entonces "pasara aquello" sino "pasara otra cosa". Como vimos anteriormente podemos jugar con el intérprete que tenemos a la izquierda. Pero antes de ejecutarlo quiero que echemos un vistazo a este código y pensemos que significa usando solamente el sentido común:
    
  a = 2
  if a == 2:
     print("a vale 2")
  else:
     print("a no vale 2")

Vamos a identificar el único dato de entrada, que es la variable a y le hemos asignado el valor 2. Ahora vamos a utilizar la estructura if else, para poder aplicar el siguiente razonamiento: si a es igual a 2 quiero mostrar visualmente a vale 2 y si no es así, quiero mostrar  a no vale 2.

Ya podéis probarlo en el intérprete, y tened en cuenta que el lenguaje que estamos usando (Python) es sensible a los espacios. Por tanto, cuando introduzcamos la variable a = 2, no se deben introducir espacios, y cuando pongamos los print, debido a que están dentro de la estructura if, habrá que introducir espacios (da igual meter un espacio que varios).

Analicemos un poco detalladamente el algoritmo para conocer la sintaxis Python haciendo una simulación de lo que hace internamente para entender qué está pasando:
  • La primera parte es para asignar valor a la variable a era como podíamos suponer ya que es igual en una operación matemática: Variable = valor
  • Para el if habrá que poner la palabra clave if seguido de la condición, en nuestro caso, a == 2. Esta condición utiliza el operador == que indica igualdad, es decir, compara lo que hay a la izquierda con lo que hay a la derecha, en este ejemplo la variable a la compara con 2 y mira si son iguales. Finalmente para indicar que ha terminado la condición ponemos ":". Como hemos dicho esto es igual que en el lenguaje humano decir si "esto" entonces "aquello", pues el signo ":" representa el "entonces".
  • Si se cumple la igualdad (que es así porque hemos asignado anteriormente 2 a la variable a), entonces entra dentro del bloque de código que tenemos después: print("a vale 2"),  provocando que se muestre la frase a vale 2
Como es de esperar si probáis a cambiar la asignación de a = 2 por a = 3 se mostrará el mensaje del else.

Vamos a hacer un mensaje añadido para que quede claro que los espacios son importantes en Python. Supongamos que queremos añadir otro mensaje. Lo haríamos así:
    
  a = 2
  if a == 2:
     print("a vale 2")
     print("sigo estando en el entonces de a==2")
  else:
     print("a no vale 2")
     print("sigo estando en el entonces de a==2")
  print("por aqui pasa siempre, sea igual a 2 o no")

Queda aquí evidenciado que si queremos que otra línea de código se ejecute cuando a == 2 habrá que poner los espacios adecuados

No hay comentarios:

Publicar un comentario

Semana 10 · Del 10/04/19 al 10/04/19

Hoy ha sido mi último día en el centro y en la primera hora he estado terminando el practicum en la sala de profesores, y después hemos teni...