Estructuras condicionales: if, elif y else#
En Python, las estructuras condicionales, como if
se usan para ejecutar un bloque de código si cierta condición es verdadera, permitiendo controlar el flujo de tu programa. Es una de las estructuras de control más utilizadas en programación.
Python utiliza las palabras clave if, elif (que significa “else if”) y else para controlar los condicionales.
Estructura if#
La estructura if
se utiliza para ejecutar un bloque de código si una condición es verdadera.
La sintaxis básica es la siguiente:
if condicion:
# bloque de código si la condición es verdadera
Por ejemplo, podemos utilizar un if
para verificar si un número es mayor que 0:
numero = 5
if numero > 0:
print ("Cierto. El número es mayor que 0")
Cierto. El número es mayor que 0
El código asigna el valor 5
a la variable numero
(numero = 5) y después utiliza una estructura condicional if
para verificar si el valor de numero
es mayor que 0 (if numero > 0
). Si la condición se cumple (como en este caso, porque 5 > 0
), se ejecuta el bloque de código asociado, que imprime el mensaje “Cierto. El número es mayor que 0” en la consola.
Si la condición no se cumpliera (por ejemplo, si numero
fuera 0
o un valor negativo), el bloque de código dentro del if
no se ejecutaría, y no se mostraría ningún mensaje.
Estructura if…else#
La estructura else
siempre va asociada a la estructura if
. Se utiliza para ejecutar un bloque de código cuando la condición en el if es falsa.
La sintaxis es la siguiente:
if condicion:
# bloque de código si la condición es verdadera
else:
# bloque de código si la condición es falsa
Siguiendo el ejemplo anterior, podríamos agregar un else
para manejar el caso en que el número no sea mayor que 0:
numero = -5
if numero > 0:
print("El número es mayor que 0")
else:
print("El número es menor que 0")
El número es menor que 0
En este caso, como numero es -5 y la condición numero > 0 es falsa, entonces se ejecutará el bloque de código dentro del else y veremos en la salida “El número es menor o igual a 10”.
Estructura if… elif… … … else#
La estructura elif
se utiliza para evaluar múltiples condiciones de manera secuencial. Es una abreviatura de “else if”.
La sintaxis es la siguiente:
if condicion_1:
# bloque de código si la condicion_1 es verdadera
elif condicion_2:
# bloque de código si la condicion_1 es falsa y la condicion_2 es verdadera
elif condicion_3:
# bloque de código si la condicion_1 es falsa, la condicion_2 es falsa y la condicion_3 es verdadera
...
else:
# bloque de código si todas las condiciones anteriores son falsas
Veamos un ejemplo donde utilizamos elif
para clasificar un número en relación con 0 (positivo, negativo o neutro)
numero = 5
if numero > 0:
print("El número es positivo")
elif numero < 0:
print("El número es negativo")
else:
print("El número es neutro")
El número es positivo
Operadores de comparación#
Los operadores de comparación se utilizan para comparar dos valores. Aquí están los principales operadores de comparación en Python:
Igual a (==): Este operador verifica si los dos valores son iguales. Por ejemplo, 5 == 3 es Falso.
No igual a (!=): Este operador verifica si los dos valores no son iguales. Por ejemplo, 5 != 3 es Verdadero.
Mayor que (>): Este operador verifica si el primer valor es mayor que el segundo. Por ejemplo, 5 > 3 es Verdadero.
Menor que (<): Este operador verifica si el primer valor es menor que el segundo. Por ejemplo, 5 < 3 es Falso.
Mayor o igual que (>=): Este operador verifica si el primer valor es mayor o igual que el segundo. Por ejemplo, 5 >= 3 es Verdadero.
Menor o igual que (<=): Este operador verifica si el primer valor es menor o igual que el segundo. Por ejemplo, 5 <= 3 es Falso.
Estos operadores devuelven un valor booleano (Verdadero o Falso). A menudo se utilizan en condiciones, como en declaraciones if
o bucles while
.
Por ejemplo
# Definamos dos variables
a = 5
b = 10
# Ahora podemos usar el operador '==' para verificar si estas dos variables son iguales
if a == b:
print("a es igual a b")
else:
print("a no es igual a b") # Esto se imprimirá
a no es igual a b
# También podemos usar el operador '!=' para verificar si dos variables no son iguales
a = 3
a = 5
if a != b:
print("a no es igual a b") # Esto se imprimirá
else:
print("a es igual a b")
a no es igual a b
Operadores and y or#
Puedes evaluar multiples condiciones utilizando and
para cuando necesites que las condiciones sean todas verdaderas, o bien or
para cuando necesitas solo evaluar una parte de todas las condiciones.
x = 4
y = 7
if x > 0 and y == 7:
print ("Tiene que cumplirse las dos condiciones para devolver un TRUE")
else:
print("LOL")
Tiene que cumplirse las dos condiciones para devolver un TRUE
x = 4
y = 7
if x > 9 or y == 7:
print ("Basta con que se cumpla una de las condiciones para devolver un TRUE")
else:
print("LOL")
Basta con que se cumpla una de las condiciones para devolver un TRUE
estoyAfuera = True
estaLloviendo = True
if estoyAfuera and estaLloviendo:
print("trae el paraguas")
trae el paraguas
También puedes combinar ambos, por ejemplo en en el siguiente caso evaluamos si una persona es alta, lo cual depende de su altura y de su genero
genero = "F"
altura = 160
if ( genero == "M" and altura > 173 ) or ( genero == "F" and altura > 163 ):
print("La persona es alta")
else:
print("La persona no es alta")
La persona no es alta
Expresiones condicionales#
En python, una expresión condicional se escribe del siguiente modo
X if condition else Y
Nos ayuda a que nuestros códigos sean más legibles y limpios. Por ejemplo el siguiente código evalua en muy pocas líneas si un código es par
miNumero = 2
print("el número es par" if miNumero % 2 == 0 else "el número es impar")
el número es par
estaLloviendo = True
print("vamos al", "parque" if estaLloviendo else "restaurante")
vamos al parque
i = 0
while i < 5:
print(i)
i =i + 1 # Esto es equivalente a i +=1
0
1
2
3
4
En este código, i < 5
es la condición para el bucle while. Mientras esta condición sea verdadera (en otras palabras, mientras i sea menor que 5), el código dentro del bucle seguirá ejecutándose. En este caso, el código dentro del bucle es print(i)
e i += 1
.
La línea print(i)
imprime el valor actual de i en la consola, y la línea i += 1
incrementa i en 1. Por lo tanto, cada vez que pasa por el bucle, i se hace más grande y, una vez que i ya no sea menor que 5, el bucle dejará de ejecutarse.
Es importante asegurarse de que la condición del bucle eventualmente se vuelva falsa, de lo contrario, el bucle se ejecutaría indefinidamente, creando lo que se conoce como un “bucle infinito”. En este ejemplo, i sigue aumentando, por lo que eventualmente será 5 o más, y la condición i < 5
será falsa.