3. Introducción
This Photo by Unknown Author is licensed under CC BY-SA-NC
Muchas veces en el ámbito de la programación se
deben examinar o tener en cuenta ciertas
condiciones para el correcto funcionamiento de la
aplicación o software que estemos desarrollando,
y teniendo en cuenta esas condiciones, el
programa debe estar en capacidad de decidir qué
hacer basado en esas condiciones. Es ahí donde
entran las sentencias condicionales y las variables
de tipo booleano, las cuales te permiten examinar
el estado actual de tu programa y responder
correctamente a ese estado o situación que se
presente dentro de él.
4. En Python existen las sentencias if y else, las cuales
son la base principal para cualquier tipo de
decisiones dentro del desarrollo de cualquier
programa, éstas devuelven un falso o verdadero
dependiendo si se cumplen o no las condiciones
propuestas, es como tener que decidir entre dos
caminos y saber que va a pasar al final de cada uno.
Cabe resaltar que estas sentencias, sobre todo “if”,
se basan en comparaciones, y para ello existen los
llamados operadores, los cuales permiten verificar el
grado de veracidad que tenga cierta situación
dependiendo de su contexto. Estos se tocarán en
detalle más delante.
Introducción
5. Además, existen las llamadas
variables de tipo booleano, vistas
en la semana anterior, las cuales
utilizan las expresiones True y
False en inglés, que significan
verdadero o falso respetivamente,
y sencillamente tienen la
capacidad de guardar uno de esos
dos valores ya mencionados,
dependiendo el caso que se esté
estudiando.
Introducción
7. Operadores
Formalmente el concepto de operador se
puede definir como cualquier tipo de
comparación lógica que se realice entre dos
variables, números, palabras, que conducen a
un resultado ya sea verdadero o falso. Dentro
de la programación existen distintos tipos de
operadores: operadores aritméticos,
relacionales, lógicos, de asignación, de
pertenencia y de identidad. Dependiendo del
contexto o caso que como desarrolladores
debamos resolver, entender la naturaleza de
cada uno y como se relacionan entre sí, nos
permitirá escoger los más adecuados.
8. Operadores aritméticos
Los operadores aritméticos son los que casi todos
conocemos, ya que desde nuestros conocimientos
básicos de matemáticas los venimos trabajando,
estos como su nombre lo indica nos ayudan a
realizar operaciones aritméticas básicas (suma,
resta, multiplicación, división, potenciación, entre
otras más). Miremos la siguiente tabla donde se
muestran los operadores aritméticos más
utilizados, tomando las variables a = 10 y b = 3, así
como un ejemplo de cada uno.
Operador Nombre Ejemplo
+ Suma a + b = 13
- Resta a - b = 7
* Multiplicación a * b = 30
/ División a/b = 3.333
%
Módulo
(Residuo)
a%b = 1
** Exponente a ** b = 1000
//
Cociente
(División
exacta)
a // b = 3
Como podemos observar no se alejan tanto de lo
que ya conocemos desde las matemáticas.
Nota: Tipos de operadores aritméticos. Esta tabla ha sido
adaptada de El libro de Python. (s.f.). Operadores.
https://ellibrodepython.com/operadores-python. Copyright
2022 por El Libro de Python.
9. Operadores de asignación
Estos se relacionan mucho con los
operadores aritméticos, ya que como
su nombre lo indica nos sirven para
asignarle un valor, en este caso a una
variable, en la cual se guardará el
valor que resulte de una operación
asignada. Para entender un poco más
como funcionan estos operadores
miremos la siguiente tabla y
analicemos como se comporta cada
uno.
This Photo by Unknown Author is licensed under CC BY-SA-NC
10. Operador Descripción Ejemplo
= Asigna el valor a la variable
x = 5
print(“Resultado ”, x)
Resutlado 5
+= Suma el valor a la derecha del igual a la variable X
x = 5
x += 2 equivalente x = x + 2
print(”Resultado ”, x)
Resutlado 7
-= Resta el valor a la derecha del igual a la variable X
x = 5
x -= 2 equivalente a x = x - 2
print(“Resultado ”, x)
Resutlado 3
*= Multiplica el valor a la derecha del igual a la variable X
x = 5
x *= 2 equivalente a x = x * 2
print(“Resultado”, x)
Resutlado 10
/= Divide el valor a la derecha del igual a la variable X
x = 5
x /= 2 equivalente a x = x / 2
print(“Resutlado “, x)
Resutlado 2.5
%= Devuelve el resto de la división del valor a la derecha del igual con la variable X
x = 5
x %= 2 equivalente a x = x % 2
print(“Resultado “, x)
Resultado 1
//= Devuelve el cociente de la división del valor a la derecha del igual con la variable X
x = 5
x //= 2 equivalente a x = x // 2
print(“Resutlado “, x)
Resutlado 2
**= Calcula el exponente a la variable X conforme el valor a la derecha del igual
x = 5
x **= 2 equivalente a x = x ** 2
print(“Resutlado “, x)
Resutlado 25
Nota: Tipos de operadores de asignación. Esta tabla ha sido adaptada de Peña, M. (2021, 23 de abril). Operadores básicos en Python. Escuela internacional posgrados. Tipos de operadores básicos en Python |
EIP (eiposgrados.com). Copyright 2010-2022 por Mainfor Soluciones Tecnológicas y Formación, S.L.
Operadores de asignación
11. Operadores de pertenencia
Los operadores de pertenencia u
operadores de correspondencia, nos
permiten conocer si un elemento está
contenido en una secuencia, por ejemplo,
si un elemento está en una lista. Estos
operadores son más que todo utilizados
en lo que respecta las estructuras de
datos, tema que se verá más adelante en
las siguientes semanas, sin embargo,
abordarlos desde ahora nos permite tener
una visión más clara de ellos y saber cómo
implementarlos en los condicionales.
Miremos la siguiente tabla.
12. Operador Nombre
in
True si el elemento está
contenido
not in
False si el elemento no está
contenido
Nota: Tipos de operadores de pertenencia. Esta tabla ha sido adaptada de El libro
de Python. (s.f.). Operadores. https://ellibrodepython.com/operadores-python.
Copyright 2022 por El Libro de Python.
In en inglés hace referencia a “en”, es decir que, si está contenido, y not
in en inglés hace referencia a “no está en”, es decir, que no está
contenido.
Operadores de pertenencia
13. Operadores de identidad
Los operadores de identidad o de igualdad, nos permiten saber el grado de veracidad de una
operación, es decir, si es verdadero o falso, el hecho de que un valor sea igual otro o tengan el
mismo valor, por ejemplo:
Devuelve verdadero ya que, al ser las dos variables iguales cumplen la condición, entonces es
verdadero.
14. Devuelve falso ya que, al ser las dos variables iguales no se cumple la condición de que sean
diferentes, entonces es falso.
Operadores de identidad
15. Miremos la siguiente tabla y así podremos entender mucho más de estos operadores:
Operador Nombre
is
Devuelve True si hacen referencia a el mismo objeto, o son
iguales, y devuelve False si no hacen referencia al mismo
objeto o son diferentes.
is not
Devuelve True si no hacen referencia a el mismo objeto, o son
diferentes, y devuelve False si hacen referencia al mismo
objeto o son iguales.
Nota: Tipos de operadores de identidad. Esta tabla ha sido adaptada de El libro de Python. (s.f.). Operadores.
https://ellibrodepython.com/operadores-python. Copyright 2022 por El Libro de Python.
Operadores de identidad
16. Operadores relacionales
Los operadores relacionales o de
comparación tal y como su nombre
lo indica, nos permiten realizar
comparaciones entre dos variables,
exclusivamente dentro de una
sentencia if la cual veremos más
adelante. Al tener que lo que se
está realizando es una
comparación, luego de esa
comparación se devolverá True
(verdadero) o False (falso) si se
cumple o no. Miremos la siguiente
tabla.
17. Operador Nombre Ejemplo
== Igual x == y = False
!= Diferente de x != y = True
> Mayor x > y = False
< Menor x < y = True
>= Mayor o igual x >= y = False
<= Menor o igual x <= y = True
Como podemos observar, las notaciones son muy parecidas a las que ya conocemos desde las
matemáticas, sin embargo, hay algunas que son propias del lenguaje y de la sintaxis de Python, y no
solo de Python sino de otros lenguajes de programación.
Nota: Tipos de operadores relacionales. Esta tabla ha sido adaptada de El libro de Python. (s.f.). Operadores.
https://ellibrodepython.com/operadores-python. Copyright 2022 por El Libro de Python.
Operadores relacionales
18. Operadores lógicos
Los operadores lógicos son
aquellos que se basan
exclusivamente en valores de
tipo booleano, es decir mientras
se cumplan dos o más de las
condiciones o al menos una
dependiendo del caso y del
operador utilizado, entonces
devolverá True o False. Miremos
la siguiente tabla.
19. Operador Descripción Ejemplo
And (y)
Devuelve True si ambos
elementos son True, es decir que
ambos se cumplan, de lo
contrario devuelve False
True and True = True
Or (o)
Devuelve True si al menos un
elemento es True, la única forma
que devuelva false es que
ambos sean falsos
True or False = True
Not (no)
Devuelve el contrario, True si es
Falso y Falso si es True
not True = False
Nota: Tipos de operadores lógicos. Esta tabla ha sido adaptada de El libro de Python. (s.f.). Operadores.
https://ellibrodepython.com/operadores-python. Copyright 2022 por El Libro de Python.
Operadores lógicos
20. Estos operadores son los más sencillos e importantes
de entender ya que se relacionan mucho con nuestro
lenguaje hablado y son clave en la implementación de
sentencias condicionales. Por ejemplo, imagina que
estás en un restaurante y te dan a ofrecer entre dos
opciones de acompañante, arroz o papas. Puede darse
el caso en el que desees escoger los dos, para ello le
dices al mesero: “me gustaría arroz y papas”, o puede
darse el caso que desees solo uno de los dos, pero no
importa cual, para ello dices: “arroz o papas”, si dices:
“no quiero papas”, por ende, la única opción restante
es arroz y así mismo si no quieres arroz, la única opción
es papas. Aquí pusimos en un contexto real la
naturaleza de estos operadores lógicos, para así captar
su uso de una mejor forma, ahora llevémoslo a
programación.
This Photo by Unknown Author is licensed under CC BY-ND
Operadores lógicos
22. Sentencias if, else y elif
This Photo by Unknown Author is licensed under CC BY
Teniendo claros todos estos conceptos de operadores ahora pasaremos a hacer uso de ellos
incluyéndolos en las sentencias if, else y elif, las cuales, al hacer comparaciones gracias a estos
operadores, principalmente lógicos y relacionales, le permiten al programa tomar decisiones
dependiendo de lo suministrado.
23. Estas tres sentencias son la clave de cualquier condición dentro de un programa, tal cual pasa en el mundo
real, en nuestro lenguaje natural: “si pasa esto entonces hago esto, sino hago esto otro”, lo mismo sucede
en la programación, y es el concepto básico para entender la estructura y funcionamiento de un if, un else
y un elif. Miremos el siguiente fragmento de código:
This Photo by Unknown Author is licensed under CC BY-SA-NC
Sentencias if, else y elif
24. En este pequeño programa anterior estamos comprobando si la afirmación que está dentro de
los paréntesis es verdadera, es como si el programa mismo se preguntara: “¿es x igual a 10? Si es
así entonces se imprime el mensaje, en el caso contrario no lo haría porque no es verdad. La
estructura de un if es así como lo vimos:
Como podemos observar, la parte del código que está dentro del if debe ir con cierta sangría o
indentación, lo cual se refiere a los espacios que van luego de los dos puntos, todo lo que escribas de
código dentro de esa sangría, solo se ejecutará si se cumple la condición.
Sentencias if, else y elif
25. Ahora bien, si eso no ocurre, entonces ¿qué debe pasar? Es ahí donde entra en juego el uso del
else, el cual significa “sino”, en otras palabras, si lo primero no se cumplió entonces ejecute esto
siguiente, por ejemplo:
Sentencias if, else y elif
26. Qué ocurre en el anterior programa, como tenemos que x no es igual a 10, si esa condición no
se cumplió, entonces pasa inmediatamente a la siguiente que es que no es igual a 10. Es
necesario tener en cuenta que un else siempre debe estar asociado con un if, dado que, tiene
que haber una condición inicial, y entonces si esa no se cumple, ejecute la siguiente que sería
el caso general en el que esa condición no se cumple.
Para entender mejor cómo funciona todo esto miremos el siguiente diagrama de flujo:
This Photo by Unknown Author is licensed under CC BY-SA-NC
Sentencias if, else y elif
27. Tal cual aquí podemos
observar, en caso de que la
condición si se cumpla se
realizarán todas
instrucciones dentro de ella,
en el caso de que no, se
realizarán las instrucciones,
pero ya no del caso inicial
sino del caso contrario o
diferente al de la condición.
Sentencias if, else y elif
28. Teniendo todo lo anterior, ¿Qué pasaría si necesitáramos una condición
intermedia? Justo para eso tenemos la sentencia elif la cual es una condición
intermedia o secundaria a la principal, que ya se dio por el “if”. Tomemos el
ejemplo anterior de verificar si un numero es igual a 10, bueno ahora
verifiquemos si es mayor 10:
Sentencias if, else y elif
29. Así como está, es correcto, pero ¿Qué pasa si ponemos 10? Seguiría apareciendo “x es menor a 10” y claramente
10 no es menor a 10, aquí es donde entra en el juego el elif, ya que contempla una condición extra a la que ya
está del “if” anterior, al implementarlo quedaría así:
Ahora si en el caso de que x sea igual a 10 mostraría en pantalla el mensaje “x es igual a 10” contemplando los
tres posibles casos.
Sentencias if, else y elif
30. Referencias bibliográficas
Peña, M. (2021, 23 de abril). Operadores básicos en Python. Escuela internacional posgrados. Tipos de
operadores básicos en Python | EIP (eiposgrados.com)
El libro de Python. (s.f.). Operadores. https://ellibrodepython.com/operadores-python
Matthes, E. (2019). Python crash course a hands-on, project-based introduction to programing. No scratch
press.