Fundamentos de la sintaxis condicional
En Python, la sangría define bloques de código, lo que diferencia a esta sentencia de otros lenguajes. La estructura básica es:
if condicion:
# Código a ejecutar si la condición es verdadera
instruccion
Ejemplo práctico con variables modificadas:
temperatura = 32
if temperatura > 30:
print("Hace calor.")
print("Considera usar protector solar.")
Regla clave: Se requiere una sangría de 4 espacios por nivel, manteniendo consistencia en todo el bloque.
Estructuras if-else para alternativas
Cuando la condición no se cumple, se ejecuta un bloque alternativo:
nivel_bateria = 15
if nivel_bateria > 20:
print("Batería suficiente.")
else:
print("Batería baja: conectar cargador.")
Control de flujo con múltiples ramas elif
Para escenarios con varias condiciones encadenadas:
calificacion = 78
if calificacion >= 90:
resultado = "Excelente"
elif calificacion >= 80:
resultado = "Bueno"
elif calificacion >= 70:
resultado = "Aceptable"
elif calificacion >= 60:
resultado = "Mejorable"
else:
resultado = "Insuficiente"
print(f"Evaluación: {resultado}")
Expresiones condicionales concisas
Para asignaciones simples, se puede usar la sintaxis ternaria:
# Versión tradicional
if nivel_bateria > 20:
estado = "Óptimo"
else:
estado = "Crítico"
# Uso de operador ternario
estado = "Óptimo" if nivel_bateria > 20 else "Crítico"
Operadores de comparación y lógicos
Los operadoers de comparación incluyen: ==, !=, >, <, >=, <=. Ejemplo con operadores lógicos:
tiene_permiso = True
es_hora_permitida = False
if tiene_permiso and es_hora_permitida:
print("Acceso concedido.")
if not es_hora_permitida:
print("Fuera de horario.")
Anidamiento de sentencias if
Las condiciones pueden anidarse para decisiones más complejas:
es_usuario_premium = True
monto_compra = 250
if es_usuario_premium:
if monto_compra >= 200:
porcentaje_descuento = 0.15
else:
porcentaje_descuento = 0.10
else:
porcentaje_descuento = 0.0
print(f"Ahorro: {monto_compra * porcentaje_descuento}")
Valores verdaderos y falsos en Python
En condiciones booleanas, estos valores se evalúa como False: None, 0, 0.0, cadenas vacías "", listas vacías [], diccionarios vacíos {}, tuplas vacías (). Otros valores son True.
nombre_usuario = ""
if nombre_usuario:
print(f"Bienvenido, {nombre_usuario}")
else:
print("Nombre no proporcionado.")
Aplicaciones prácticas
Validación de credenciales
def verificar_acceso(usuario, clave):
usuario_correcto = "sistema"
clave_correcta = "segura123"
if not usuario or not clave:
return "Campos requeridos vacíos"
if usuario != usuario_correcto:
return "Usuario no reconocido"
if clave != clave_correcta:
return "Clave incorrecta"
return "Autenticación exitosa"
print(verificar_acceso("sistema", "segura123"))
Calculadora de categoría
def determinar_categoria(peso_kg, estatura_m):
imc = peso_kg / (estatura_m ** 2)
if imc < 18.5:
return "Bajo peso"
elif imc < 25:
return "Peso saludable"
elif imc < 30:
return "Sobrepeso"
else:
return "Obesidad"
print(determinar_categoria(68, 1.70))
Resumen de estructuras
| Tipo | Sintaxis | Caso de uso |
|---|---|---|
| if básico | if condición: | Acción única |
| if-else | if … else … | Alternativa binaria |
| if-elif-else | if … elif … else | Múltiples opciones |
| Ternario | valor1 if condición else valor2 | Asignación directa |
Recomendaciones: priorizar la legibilidad mediante sangría consistente, simplificar condiciones complejas con paréntesis, y evitar anidamientos excesivos usando elif.