Escaneá el QR con tu celular para controlar la presentación y usar el apuntador láser.
Una sentencia condicional evalúa una expresión booleana y redirige el flujo de ejecución hacia uno de dos o más bloques de código mutuamente excluyentes.
Flujo secuencial (sin condicionales):
Flujo condicional (con if):
Si la condición es True → bloque if. Si es False → bloque else.
# Ejemplo: temperatura temperatura = int(input("¿Temperatura de hoy? ")) if temperatura > 25: print("Hace calor, viste ropa ligera.") else: print("No hace tanto calor, llevá chaqueta.")
Sintaxis BNF: if <expresión_booleana>: <bloque> — Python delimita bloques por indentación consistente (PEP 8: 4 espacios).
Python no usa llaves {}. Los 4 espacios definen qué código pertenece al bloque if o else.
✗ Error
if x > 0: print("positivo") # sin indentar
✓ Correcto
if x > 0: print("positivo")
| Operador | Significado | Expresión | Valor |
|---|---|---|---|
| == | Igual a | 5 == 5 | True |
| != | Diferente de | 5 != 3 | True |
| > | Mayor que | 7 > 3 | True |
| < | Menor que | 2 < 8 | True |
| >= | Mayor o igual | 5 >= 5 | True |
| <= | Menor o igual | 4 <= 6 | True |
| in | Pertenencia | 'a' in 'abc' | True |
== compara. = asigna. Son operaciones completamente distintas.Combinan múltiples condiciones en una sola expresión.
edad = 20 tiene_carnet = True # and → AMBAS condiciones deben ser True if edad >= 18 and tiene_carnet: print("Puede conducir.") # or → AL MENOS UNA condición debe ser True if edad < 12 or edad > 65: print("Tarifa especial aplicada.") # not → INVIERTE el valor de verdad if not tiene_carnet: print("No tiene carnet de conducir.")
and True → True | True or False → True | not True → Falseelif = "else if". Se evalúa solo si la condición anterior fue False.
nota = float(input("Nota (0-100): ")) if nota >= 90: print("Excelente - A") elif nota >= 80: print("Muy Bien - B") elif nota >= 70: print("Bien - C") elif nota >= 60: print("Suficiente- D") else: print("Reprobado - F")
Una cadena if-elif-else equivale a un árbol de decisión binario. Solo se ejecuta el primer bloque cuya condición evalúa a True.
if nota >= 90 → ¿True? → imprime A → STOP elif nota >= 80 → ¿True? → imprime B → STOP elif nota >= 70 → ¿True? → imprime C → STOP elif nota >= 60 → ¿True? → imprime D → STOP else → → imprime F → STOP
nombre = input("Nombre: ") nota = float(input("Nota (0-100): ")) if nota < 0 or nota > 100: cal = "Error"; msg = "Nota fuera de rango." elif nota >= 90: cal = "A - Sobresaliente"; msg = "¡Excelente!" elif nota >= 80: cal = "B - Muy Bueno"; msg = "¡Muy buen trabajo!" elif nota >= 70: cal = "C - Bueno"; msg = "Podés mejorar." elif nota >= 60: cal = "D - Suficiente"; msg = "Aprobaste, esforzate más." else: cal = "F - Reprobado"; msg = "No te rindas." print("Resultado para:", nombre) print("Calificación:", cal) print(msg)
Entrada: nombre="Ana", nota=85
Entrada: nombre="Luis", nota=55
Entrada: nombre="María", nota=110
and para combinar las tres condiciones de validación en un solo if.a = float(input("Lado a: ")) b = float(input("Lado b: ")) c = float(input("Lado c: ")) if a + b > c and a + c > b and b + c > a: if a == b == c: tipo = "Equilátero" elif a == b or b == c or a == c: tipo = "Isósceles" else: tipo = "Escaleno" print("Triángulo", tipo) else: print("Error: los valores no forman un triángulo válido.")
peso / (altura ** 2)peso = float(input("Peso (kg): ")) altura = float(input("Altura (m): ")) imc = peso / (altura ** 2) if imc < 18.5: clasificacion = "Bajo peso" elif imc < 25: clasificacion = "Peso normal" elif imc < 30: clasificacion = "Sobrepeso" else: clasificacion = "Obesidad" print(f"IMC: {imc:.2f}") print(f"Clasificación: {clasificacion}")
a = 15 b = 10 if a > b: print("A es mayor") if a > 20: print("A es muy grande") else: print("A es moderado") elif a == b: print("Son iguales") else: print("B es mayor")
Estructuras
if condición: — ejecutar si es verdadelif condición: — condición alternativaelse: — cuando todo lo anterior es FalseComparación: == != > < >= <= in
Lógicos: and or not
Reglas clave
= asigna, == compara.for y while. Iteración e invariante de bucle.