Condicionales (if/elif/else)
Controla el flujo del programa con sentencias condicionales: if, elif, else, condiciones anidadas y el operador ternario
Condicionales (if/elif/else)
Los condicionales permiten que tu programa tome decisiones basadas en condiciones. Así es como el código se vuelve "inteligente".
La Sentencia if
age = 18
if age >= 18:
print("You are an adult")¡La indentación importa! El bloque bajo if debe estar indentado de manera consistente.
if/else
temperature = 30
if temperature > 25:
print("It's hot outside!")
else:
print("It's cool outside.")if/elif/else
score = 85
if score >= 90:
grade = "A"
elif score >= 80:
grade = "B"
elif score >= 70:
grade = "C"
elif score >= 60:
grade = "D"
else:
grade = "F"
print(f"Grade: {grade}")Python no tiene una sentencia switch. Usa if/elif/else en su lugar. Python 3.10+ tiene match (coincidencia de patrones estructural).
Condicionales Anidados
age = 20
has_id = True
if age >= 18:
if has_id:
print("Entry allowed")
else:
print("ID required")
else:
print("Too young")El Operador Ternario (Expresión Condicional)
Una forma compacta de escribir condicionales simples:
# Forma estándar
if age >= 18:
status = "Adult"
else:
status = "Minor"
# Forma ternaria (una línea)
status = "Adult" if age >= 18 else "Minor"Veracidad (Truthiness)
En Python, algunos valores son "truthy" y otros son "falsy":
# Valores falsy (evalúan a False en contexto booleano)
False, None, 0, 0.0, "", [], {}, set(), range(0)
# Todo lo demás es truthy
name = "Alice"
if name: # True porque la cadena no está vacía
print(f"Hello, {name}")Ejemplos Prácticos
# Verificar si una lista está vacía
items = []
if not items:
print("Cart is empty")
# Verificar si un número es distinto de cero
count = 5
if count:
print(f"Processing {count} items")Ten cuidado con == vs =. = es asignación, == es comparación. Usar = en una condición (if x = 5:) provoca un error de sintaxis.
Caso de Uso Real: Autenticación de Usuario
username = input("Username: ")
password = input("Password: ")
if username == "admin" and password == "secret123":
print("Welcome, admin!")
elif username == "admin":
print("Wrong password")
elif password == "secret123":
print("Unknown user")
else:
print("Invalid credentials")Piensa en los condicionales como puntos de decisión en tu programa: si esto es verdadero, haz esto; de lo contrario, haz aquello.
Preguntas de Práctica
- Escribe una sentencia if que imprima "Positive" si
num > 0. - ¿Cuál es la diferencia entre
=y==en Python? - Convierte esto a ternario:
if x > 0: result = "positive" else: result = "negative" - Enumera todos los valores falsy en Python.
- ¿A qué evalúa
if "":? - Escribe un condicional anidado que verifique si una persona tiene al menos 18 años Y tiene un boleto válido.
- ¿Qué hay de malo con
if x = 10:? - ¿Cómo escribes un condicional múltiple en Python (como switch/case)?
- Escribe un programa que imprima "Even" o "Odd" basado en un número.
- ¿Qué genera esto:
status = "pass" if score >= 60 else "fail"si score es 45?