3: Control de Flujo

3.1 Condicionales: Tomando decisiones con if, elif, y else

En la vida real, tomas decisiones todo el tiempo: "Si hace sol, saldré a caminar, si no, me quedaré en casa". En programación, las sentencias condicionales hacen exactamente eso: le permiten a tu código tomar decisiones basadas en si una condición es verdadera o falsa.

Sentencia if

La sentencia if es la más básica. Ejecuta un bloque de código solo si una condición es True.

edad = 18

if edad >= 18:
    print("Eres mayor de edad.")

Sentencia else

La sentencia else se usa junto con if para ejecutar un bloque de código alternativo cuando la condición del if es False.

temperatura = 15

if temperatura > 25:
    print("Hace calor, usa ropa ligera.")
else:
    print("Hace frío, abrígate bien.")

Sentencia elif (else if)

La sentencia elif te permite verificar múltiples condiciones de manera secuencial. Es una abreviatura de "else if" y te ayuda a evitar anidar demasiados if dentro de otros if.

puntuacion = 85

if puntuacion >= 90:
    print("Tienes una A, ¡excelente!")
elif puntuacion >= 80:
    print("Tienes una B, ¡muy bien!")
elif puntuacion >= 70:
    print("Tienes una C, ¡sigue practicando!")
else:
    print("Necesitas estudiar más.")

3.2 Operadores de comparación y lógicos

Para crear las condiciones de tus sentencias if, necesitas operadores de comparación y operadores lógicos.

Operadores de comparación

Compara dos valores y devuelven un resultado booleano (True o False).

  • == Igual a
  • != No es igual a
  • > Mayor que
  • < Menor que
  • >= Mayor o igual que
  • <= Menor o igual que
x = 10
y = 20

print(x == y)  # Salida: False
print(x < y)   # Salida: True
print(x != y)  # Salida: True

Operadores lógicos

Combinan múltiples condiciones booleanas.

  • and (y): Devuelve True si ambas condiciones son True.
  • or (o): Devuelve True si al menos una de las condiciones es True.
  • not (no): Invierte el valor booleano (de True a False y viceversa).
edad = 25
tiene_licencia = True

if edad >= 18 and tiene_licencia:
    print("Puedes conducir.")

if edad < 18 or not tiene_licencia:
    print("No puedes conducir.")

3.3 Bucles: Repitiendo tareas con for y while

Los bucles te permiten ejecutar un bloque de código repetidamente, lo cual es esencial para automatizar tareas.

Bucle for

El bucle for se usa para iterar sobre una secuencia (como una lista, tupla, diccionario o cadena de texto).

# Iterar sobre una lista
frutas = ["manzana", "banana", "uva"]
for fruta in frutas:
    print(fruta)

# Iterar con un rango de números
for i in range(5): # range(5) genera números del 0 al 4
    print(i)

Bucle while

El bucle while se ejecuta mientras una condición sea True. Es importante que la condición eventualmente se vuelva False para evitar un bucle infinito.

contador = 0

while contador < 5:
    print(contador)
    contador += 1 # Es lo mismo que contador = contador + 1

Sentencias break y continue

  • break: Detiene la ejecución del bucle y sale de él por completo.
  • continue: Salta la iteración actual y pasa a la siguiente.
for numero in range(10):
    if numero == 3:
        continue # Ignora el 3 y sigue con la siguiente iteración
    if numero == 8:
        break    # Detiene el bucle completamente
    print(numero)

Este módulo te ha equipado con las herramientas para hacer que tus programas sean dinámicos y capaces de tomar decisiones y repetir acciones. En el próximo módulo, descubrirás cómo organizar tu código en bloques reutilizables usando funciones.