Domine las Sentencias Condicionales en Python: IF, ELSE, ELIF y Lógica Tipo Switch
¿Qué Son las Sentencias Condicionales en Python?
Las sentencias condicionales permiten a un programa ejecutar diferentes bloques de código basados en expresiones booleanas. En Python, la sentencia if es la construcción central que impulsa este proceso de toma de decisiones.
En esta guía exploraremos cómo usar if, else, elif y la alternativa tipo switch-case basada en diccionarios de Python. Cada sección incluye ejemplos concisos para ilustrar los conceptos.
- Entendiendo la sentencia
if - Cuando una condición
iffalla - Usando la cláusula
else - Errores comunes con
else - Empleando
elifpara múltiples ramas - Condensando lógica con expresiones ternarias
- Sentencias
ifanidadas - Implementando un patrón switch-case con diccionarios
Conceptos Básicos de la Sentencia if en Python
Sintaxis
if expression:
# bloque ejecutado cuando expression es True
else:
# bloque ejecutado cuando expression es False
Ejemplo:
def main():
x, y = 2, 8
if x < y:
st = "x es menor que y"
else:
st = "x no es menor que y"
print(st)
if __name__ == "__main__":
main()
Qué Ocurre Cuando la Condición if es Falsa
Si la condición evalúa a False y no se proporciona cláusula else, el cuerpo del if se omite y el programa continúa después del bloque.
Ejemplo con condición fallida:
def main():
x, y = 8, 4
if x < y:
st = "x es menor que y"
else:
st = "x es mayor o igual que y"
print(st)
if __name__ == "__main__":
main()
Usando la Cláusula else
El bloque else se ejecuta cuando la condición if precedente es False. Es útil cuando se tiene una decisión binaria.
def main():
x, y = 8, 4
if x < y:
st = "x es menor que y"
else:
st = "x es mayor que y"
print(st)
if __name__ == "__main__":
main()
Errores Comunes con else
Cuando dos valores son iguales, un bloque else puede reportar incorrectamente una comparación como "mayor" o "menor".
def main():
x, y = 8, 8
if x < y:
st = "x es menor que y"
else:
st = "x es mayor que y" # Incorrecto cuando x == y
print(st)
if __name__ == "__main__":
main()
Introduciendo elif para Múltiples Ramas
La cláusula elif permite probar condiciones adicionales después del if inicial. Previene el error de fall-through visto arriba.
def main():
x, y = 8, 8
if x < y:
st = "x es menor que y"
elif x == y:
st = "x es igual a y"
else:
st = "x es mayor que y"
print(st)
if __name__ == "__main__":
main()
Condensando Lógica con una Expresión Ternaria
La sintaxis one-liner de Python puede hacer comparaciones simples concisas:
def main():
x, y = 10, 8
st = "x es menor que y" if x < y else "x es mayor o igual que y"
print(st)
if __name__ == "__main__":
main()
Sentencias if Anidadas
Las condiciones anidadas son útiles cuando una decisión depende de múltiples variables.
total = 100
country = "AU" # Cambie a "US" para probar el otro bloque
if country == "US":
if total <= 50:
print("Costo de Envío es $50")
elif total <= 100:
print("Costo de Envío es $25")
elif total <= 150:
print("Costos de Envío $5")
else:
print("GRATIS")
elif country == "AU":
if total <= 50:
print("Costo de Envío es $100")
else:
print("GRATIS")
Equivalente Switch-Case en Python
Python carece de una sentencia switch nativa, pero una búsqueda en diccionario ofrece la misma claridad y eficiencia.
def switch_example(argument):
switcher = {
0: "Este es Caso Cero",
1: "Este es Caso Uno",
2: "Este es Caso Dos",
}
return switcher.get(argument, "nothing")
if __name__ == "__main__":
argument = 1
print(switch_example(argument))
Resumen
- if – Se ejecuta cuando una condición es verdadera.
- else – Se ejecuta cuando el
ifprecedente es falso. - elif – Añade comprobaciones booleanas adicionales en secuencia.
- Expresiones ternarias (one-liner) acortan comparaciones simples.
- Bloques
ifanidados manejan decisiones multi-dimensionales. - Búsquedas en diccionario proporcionan una alternativa limpia a switch-case.
python
- Dominando la lógica condicional en C#: If, If-Else, If-ElseIf y sentencias If anidadas
- Dominando la sentencia switch en C#: Sintaxis, ejemplos y mejores prácticas
- Dominando la Sentencia Switch-Case en C++: Sintaxis, Flujo y Ejemplos Prácticos
- Dominando las sentencias condicionales en C: if, else y más
- Dominando la sentencia switch en C: sintaxis, flujo y ejemplo práctico
- Dominando switch-case en C++: Sintaxis, uso y ejemplos prácticos
- Sentencias, indentación y comentarios en Python: Guía clara
- Dominando sentencias if…else en Python
- Dominando la sentencia pass en Python: Guía práctica
- Función print() en Python: Guía Práctica con Ejemplos
- Dominar if…else en Java: Control de Flujo Explicado