Portada » Blog » Control de Flujo en Python: Guía Clara de Condicionales, Bucles y Más [2025]

Control de Flujo en Python: Guía Clara de Condicionales, Bucles y Más [2025]

Condicionales: if, elif, else

En Python, las estructuras condicionales if, elif y else son fundamentales para controlar el flujo de un programa y tomar decisiones según condiciones específicas. Permiten que tu código se comporte de manera diferente dependiendo de los valores o resultados que se estén evaluando.

La palabra clave if se utiliza para evaluar una primera condición. Si esa condición es verdadera (True), se ejecuta el bloque de código indentado que le sigue. Si no, el programa continúa evaluando el resto de condiciones o simplemente las ignora.

elif significa «else if», y se usa cuando quieres comprobar una o más condiciones adicionales si la condición inicial del if fue falsa. Puedes usar tantos elif como necesites.

La cláusula else se ejecuta cuando ninguna de las condiciones anteriores (if o elif) se ha cumplido. Es el camino por defecto.

🔍 Reglas importantes

  • La sintaxis debe estar correctamente indentada (4 espacios por nivel de bloque).
  • Puedes tener solo un if y un else, pero varios elif si lo necesitas.
  • Las condiciones se evalúan en orden, y solo se ejecuta la primera que sea verdadera.

🎯 Cuándo usar if, elif y else

Estas estructuras son útiles para:

  • Validar formularios o datos ingresados por el usuario
  • Construir menús de opciones
  • Determinar el comportamiento del programa según múltiples escenarios
  • Evaluar rangos numéricos (edades, precios, puntuaciones, etc.)
  • Controlar la lógica de videojuegos, bots o scripts

Sintaxis básica

python

edad = 25

if edad >= 18:

print("Es mayor de edad")

elif edad >= 13:

print("Es adolescente")

else:

print("Es niño")

Importante:

  • La indentación es obligatoria (por convención, 4 espacios).
  • No se usan llaves ni paréntesis como en otros lenguajes (C, Java).

Operadores comunes en condiciones:

==  # Igualdad

!=  # Distinto

>   # Mayor que

<   # Menor que

>=  # Mayor o igual

<=  # Menor o igual

Condiciones compuestas

usuario = «admin»

clave = «1234»

if usuario == «admin» and clave == «1234»:

print(«Acceso permitido»)

Buenas prácticas

  • Usa condiciones claras y explícitas.
  • Evita comparaciones innecesarias como if activo == True: y usa simplemente if activo:.

Bucles: for y while

En Python, los bucles (loops) son estructuras fundamentales de control de flujo que nos permiten ejecutar un bloque de código de forma repetitiva, lo que es esencial para tareas como recorrer listas, automatizar procesos o realizar cálculos iterativos. Los dos tipos principales de bucles en Python son for y while, cada uno con características específicas que los hacen útiles en distintos escenarios.

Bucle for

El bucle for se utiliza para iterar sobre una secuencia, como una lista, una cadena, una tupla, un diccionario o un rango de números. Es ideal cuando sabes cuántas veces necesitas repetir una acción o estás recorriendo colecciones de datos.

🔍 Aplicaciones típicas del for:

  • Recorrer listas, diccionarios o strings
  • Generar tablas de multiplicar
  • Procesar archivos línea por línea
  • Ejecutar una tarea un número exacto de veces

🛠 Funciones útiles con for:

  • range(): para generar secuencias numéricas
  • enumerate(): para obtener índice y valor a la vez
  • zip(): para recorrer dos listas en paralelo
python

nombres = ["Ana", "Luis", "Carlos"]

for nombre in nombres:

print(f"Hola, {nombre}")

Usando range():

python
for i in range(5):

print(i)  # Imprime del 0 al 4
python

for i in range(2, 10, 2):  # inicio, fin, paso

print(i)  # 2, 4, 6, 8

Bucle while

El bucle while se ejecuta mientras se cumpla una condición booleana. Es útil cuando no sabemos cuántas repeticiones se necesitan, pero queremos continuar hasta que una condición deje de cumplirse.

🔍 Aplicaciones típicas del while:

  • Validar contraseñas o entradas del usuario
  • Esperar un evento o respuesta específica
  • Reintentar tareas hasta obtener el resultado correcto
  • Crear menús o bucles infinitos controlados manualmente

⚠️ Precauciones con while

Es importante asegurarse de que la condición del while cambie dentro del bucle, de lo contrario podrías generar un bucle infinito.

python

contador = 0

while contador < 5:

    print(f"Contador: {contador}")

    contador += 1

Cuidado con bucles infinitos:

python

# while True:

#     print("Esto nunca se detendrá")

Instrucciones útiles

  • break: termina el bucle.
  • continue: salta a la siguiente iteración.
  • else: (poco común) se ejecuta si el bucle no se interrumpe con break.
python

for i in range(5):

    if i == 3:

        Break

else:

        print("Bucle finalizado sin interrupciones")

Comprensión de listas (List Comprehensions)

Una de las características más potentes de Python es la capacidad de crear listas de forma concisa y expresiva mediante list comprehensions.

Ejemplo básico

python

cuadrados = [x**2 for x in range(10)]

print(cuadrados)  # [0, 1, 4, 9, 16, ..., 81]

Con condiciones

python

pares = [x for x in range(20) if x % 2 == 0]

Equivalente a:

python

pares = []for x in range(20):

    if x % 2 == 0:

        pares.append(x)

Anidamiento

python

matriz = [[1, 2], [3, 4], [5, 6]]

plana = [num for fila in matriz for num in fila]

Con transformaciones

python

palabras = ["Python", "fluente", "biblioteca"]

mayusculas = [p.upper() for p in palabras]

Cuándo usar cada estructura

EstructuraUsar cuando…
if / elif / elseHay decisiones que tomar según condiciones
forSe necesita iterar sobre elementos conocidos
whileLa condición de parada es desconocida o depende del tiempo
list comprehensionSe necesita construir una nueva lista de forma limpia y concisa

🧠 Ejercicio 1: Número positivo, negativo o cero

Pide un número al usuario e indica si es positivo, negativo o cero.

Mostrar solución

num = float(input("Introduce un número: "))

if num > 0:
    print("El número es positivo.")
elif num < 0:
    print("El número es negativo.")
else:
    print("El número es cero.")

    


🔁 Ejercicio 2: Contar del 1 al 10 con un bucle while

Usa un bucle while para mostrar los números del 1 al 10 en pantalla.

Mostrar solución

i = 1
while i <= 10:
    print(i)
    i += 1

    


📊 Ejercicio 3: Tabla de multiplicar con for

Pide un número al usuario y muestra su tabla de multiplicar del 1 al 10.

Mostrar solución

n = int(input("Introduce un número para ver su tabla de multiplicar: "))
for i in range(1, 11):
    print(f"{n} x {i} = {n * i}")

    


🔢 Ejercicio 4: Números pares del 1 al 20

Muestra todos los números pares del 1 al 20 utilizando un bucle for y un condicional if.

Mostrar solución

for i in range(1, 21):
    if i % 2 == 0:
        print(i)


    


❌ Ejercicio 5: Validador de contraseña

Pide al usuario que introduzca una contraseña. Si no coincide con la correcta, vuelve a pedirla hasta que acierte.

Mostrar solución

clave_correcta = "python2025"
entrada = ""

while entrada != clave_correcta:
    entrada = input("Introduce la contraseña: ")
    if entrada != clave_correcta:
        print("Contraseña incorrecta, intenta de nuevo.")

print("¡Acceso concedido!")

    


🗣️ ¿Te ha parecido interesante?

Si este contenido suscríbete a nuestra newsletter para no perderte futuras publicaciones sobre Python, automatización, desarrollo web y más.
💭 Además, déjanos un comentario con tus opiniones o cuéntanos qué temas te gustaría que tratemos próximamente. ¡Tu participación nos ayuda a crear mejor contenido para ti!

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *