📱 Control Remoto

Escaneá el QR con tu celular para controlar la presentación y usar el apuntador láser.

QR Code
Semana 2 · Estructuras de Control
Condicionales
Sesión 3 — Toma de Decisiones en Python
⏱ 60 – 90 min 📍 UAJMS · Yacuiba 🐍 Python 3
if
1 / 19
Sesión 3 Objetivos
💡
Idea clave: Un programa inteligente reacciona a los datos. Los condicionales son el mecanismo para lograrlo.
2 / 19
3.1 Toma de Decisiones
🌧
"Si está lloviendo → llevo paraguas; si no → no lo llevo."

Los programas funcionan igual: evalúan una condición y ejecutan código distinto según el resultado.

Sin condicionales:

  • El programa hace siempre lo mismo
  • No puede adaptarse a la entrada

Con condicionales:

  • Reacciona a los datos del usuario
  • Puede validar, clasificar y decidir
3 / 19
3.2 Estructura if / else

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.")
⚠️
Indentación obligatoria. Python usa 4 espacios para definir los bloques. Sin indentación → error inmediato.
4 / 19
3.2 La Indentación — Por Qué Importa

Python no usa llaves {}. Los 4 espacios definen qué código pertenece al if o al else.

if temperatura > 25:
····print("Hace calor")  ← pertenece al if
else:
····print("Llevá chaqueta")  ← pertenece al else

✗ Error

if x > 0:
print("positivo")  # sin indentar

✓ Correcto

if x > 0:
    print("positivo")
5 / 19
3.4
Sección
Operadores de Comparación
Las herramientas para construir condiciones
6 / 19
3.4 Operadores de Comparación
OperadorSignificadoEjemploResultado
==Igual a5 == 5True
!=Diferente de5 != 3True
>Mayor que7 > 3True
<Menor que2 < 8True
>=Mayor o igual5 >= 5True
<=Menor o igual4 <= 6True
⚠️
¡Ojo! == compara. = asigna. Son operaciones completamente distintas.
7 / 19
3.5 Operadores Lógicos

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.")
8 / 19
3.3
Sección
if / elif / else
Cuando hay más de dos posibilidades
9 / 19
3.3 Estructura if / elif / else

elif = "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")
🔑
Python evalúa de arriba hacia abajo y ejecuta solo el primer bloque True. El orden de las condiciones importa.
10 / 19
3.3 Flujo de Evaluación
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
🔑
Una vez que Python encuentra un bloque True, salta todo lo demás. Por eso el orden de las condiciones importa.
11 / 19
Práctica Calificador de Notas
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)
12 / 19
Práctica Calificador de Notas — Salida

Entrada: nombre="Ana", nota=85

Resultado para: Ana Calificación: B - Muy Bueno ¡Muy buen trabajo!

Entrada: nombre="Luis", nota=55

Resultado para: Luis Calificación: F - Reprobado No te rindas.

Entrada: nombre="María", nota=110

Resultado para: María Calificación: Error Nota fuera de rango.
La primera condición actúa como validación de entrada. ¡Buena práctica de programación!
13 / 19
Ejercicio 7 Verificador de Acceso
📋 Consigna
  1. Pedí al usuario su edad y si tiene permiso de sus padres (s / n).
  2. Si tiene 18 o más → puede entrar sin restricciones.
  3. Si tiene menos de 18 y tiene permiso → puede entrar con acompañante.
  4. Cualquier otro caso → no puede entrar.
💡
Pista: Usá if, elif y el operador and. input() devuelve texto — comparar con "s".
14 / 19
Ejercicio 7 Verificador de Acceso — Código
edad    = int(input("¿Cuántos años tenés? "))
permiso = input("¿Tenés permiso de tus padres? (s/n): ")

if edad >= 18:
    print("Podés entrar sin restricciones.")
elif edad < 18 and permiso == "s":
    print("Podés entrar con un acompañante adulto.")
else:
    print("Lo siento, no podés entrar.")
edad=17, permiso="s" → Podés entrar con un acompañante adulto. edad=20, permiso="n" → Podés entrar sin restricciones. edad=15, permiso="n" → Lo siento, no podés entrar.
15 / 19
Ejercicio 8 Calculadora de Descuentos
📋 Consigna
  1. Pedí el precio del artículo y la edad del cliente.
  2. Si el cliente tiene menos de 12 o más de 6520% de descuento.
  3. Pedí la cantidad de unidades. Si compró más de 310% adicional.
  4. Mostrá el precio final con el descuento total aplicado.
💡
Pista: Usá dos if separados (no elif) para acumular descuentos independientemente.
16 / 19
Ejercicio 8 Calculadora de Descuentos — Código
precio   = float(input("Precio del artículo: "))
edad     = int(input("Edad del cliente: "))
cantidad = int(input("Cantidad de unidades: "))

descuento = 0

if edad < 12 or edad > 65:
    descuento += 0.20
    print("Descuento por edad: 20%")

if cantidad > 3:
    descuento += 0.10
    print("Descuento por cantidad: 10%")

total = precio * (1 - descuento)
print("Precio final: Bs.", round(total, 2))
17 / 19
Ejercicio 9 Traza el Código — if Anidado
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")
Consigna
  1. Predecí la salida para a=15, b=10.
  2. Ejecutalo en Python para verificar.
  3. Modificá los valores y observá los cambios.
A es mayor A es moderado
18 / 19
Resumen Lo Aprendido Hoy

Estructuras

  • if condición: — ejecutar si es verdad
  • elif condición: — condición alternativa
  • else: — cuando todo lo anterior es False

Comparación:  == != > < >= <=

Lógicos:  and  or  not

Reglas clave

  • 4 espacios de indentación — obligatorio.
  • Python evalúa de arriba hacia abajo.
  • = asigna, == compara. No confundir.
🎯
Próxima sesión: Bucles — for y while.
19 / 19