Bucles en Python: for, while, break y continue

Publicado el: 11/07/2026
Tempo de leitura: 3 minutos
Símbolo de repetição ao lado do logotipo do Python pensativo, representando o conceito de loops na programação em Python.

Los bucles en Python permiten repetir instrucciones sin copiar el mismo código muchas veces. for recorre elementos de un iterable, mientras que while continúa mientras una condición sea verdadera. Las instrucciones break, continue y else ofrecen control adicional.

En esta guía aprenderás los patrones principales con listas, range(), diccionarios, validación de entrada y bucles anidados. El tutorial oficial de control de flujo de Python documenta estas construcciones, y la referencia de range() explica sus argumentos.

Recorrer una lista con for

lenguajes = ["Python", "JavaScript", "Go"]

for lenguaje in lenguajes:
    print(lenguaje)

El bucle recibe cada elemento directamente. No necesitas administrar un índice cuando solamente utilizas el valor.

Usar range()

for numero in range(5):
    print(numero)

range(5) produce valores desde 0 hasta 4. También admite inicio y paso:

for numero in range(2, 11, 2):
    print(numero)

La guía específica de range() en Python incluye rangos descendentes y errores frecuentes.

Obtener índice y valor

tareas = ["instalar", "configurar", "probar"]

for posicion, tarea in enumerate(tareas, start=1):
    print(f"{posicion}. {tarea}")

enumerate() en Python evita contadores manuales y permite elegir el valor inicial.

Recorrer diccionarios

precios = {
    "teclado": 45.0,
    "ratón": 20.0,
    "monitor": 210.0,
}

for producto, precio in precios.items():
    print(producto, precio)

Un bucle directo sobre un diccionario produce claves. items() devuelve pares de clave y valor. Consulta la guía de diccionarios en Python.

Combinar iterables con zip()

productos = ["Teclado", "Ratón", "Monitor"]
precios = [45.0, 20.0, 210.0]

for producto, precio in zip(
    productos,
    precios,
    strict=True,
):
    print(f"{producto}: {precio:.2f}")

strict=True detecta longitudes diferentes en versiones modernas de Python.

Bucles while

intentos = 3

while intentos > 0:
    print(f"Quedan {intentos} intentos")
    intentos -= 1

print("Fin")

Un while necesita que su condición pueda cambiar. Si el estado nunca se modifica, el programa puede entrar en un bucle infinito.

Validar entrada con while

while True:
    texto = input("Edad: ").strip()

    try:
        edad = int(texto)
    except ValueError:
        print("Introduce un número entero")
        continue

    if edad < 0:
        print("La edad no puede ser negativa")
        continue

    break

print(f"Edad válida: {edad}")

La guía de input() en Python cubre conversiones, menús y validación.

Detener con break

numeros = [4, 8, 15, 16, 23, 42]
objetivo = 15

for numero in numeros:
    if numero == objetivo:
        print("Encontrado")
        break

break termina el bucle más cercano. Úsalo cuando continuar ya no aporta trabajo útil.

Saltar con continue

valores = [10, -2, 7, -5, 3]

for valor in valores:
    if valor < 0:
        continue

    print(valor)

continue pasa a la siguiente iteración. No debe ocultar una lógica difícil de seguir.

else en bucles

numeros = [2, 4, 6, 8]
objetivo = 5

for numero in numeros:
    if numero == objetivo:
        print("Encontrado")
        break
else:
    print("No encontrado")

El bloque else se ejecuta si el bucle termina sin break. Es útil en búsquedas y validaciones.

Bucles anidados

filas = 3
columnas = 4

for fila in range(filas):
    for columna in range(columnas):
        print(f"({fila}, {columna})")

El número total de iteraciones se multiplica. Revisa el tamaño de los datos antes de anidar varios recorridos.

Comprensiones frente a bucles

numeros = range(10)
cuadrados_pares = [
    numero ** 2
    for numero in numeros
    if numero % 2 == 0
]

Una comprensión es adecuada para una transformación breve con un filtro sencillo. Para varias acciones, manejo de errores o condiciones complejas, usa un bucle normal. La guía de list comprehensions muestra la diferencia.

Proyecto práctico: resumen de ventas

ventas = [
    {"producto": "Teclado", "cantidad": 2, "precio": 45.0},
    {"producto": "Ratón", "cantidad": 4, "precio": 20.0},
    {"producto": "Monitor", "cantidad": 1, "precio": 210.0},
]

total = 0.0

for numero, venta in enumerate(ventas, start=1):
    subtotal = venta["cantidad"] * venta["precio"]
    total += subtotal
    print(
        f"{numero}. {venta['producto']}: "
        f"{subtotal:.2f}"
    )

print(f"Total: {total:.2f}")

Errores frecuentes

  • Olvidar actualizar la condición de un while.
  • Modificar una lista mientras se recorre.
  • Usar range(len(lista)) cuando basta recorrer valores.
  • Colocar break o continue en el nivel equivocado.
  • Crear demasiados bucles anidados.
  • Confundir el else del bucle con el de un if.

for o while

  • Usa for para recorrer una colección o una secuencia conocida.
  • Usa while cuando la repetición depende de un estado o una condición.
  • Usa una función integrada cuando exprese directamente la operación, como sum(), any() o all().

Conclusión

Los bucles en Python son más claros cuando recorren directamente los datos y mantienen una condición de salida visible. Prefiere for para iterables, while para estados, enumerate() para posiciones y comprensiones solamente para transformaciones sencillas. Un bucle pequeño y predecible es más fácil de probar y mantener.

Compartilhe:

Facebook
WhatsApp
Twitter
LinkedIn

Contenido del artículo

    Artículos relacionados

    Código Python com valores Boolean True e False em tela de computador
    Fundamentos
    Foto de perfil de Leandro Hirt da Academify

    Booleanos en Python: True, False y lógica

    Aprende booleanos en Python con True, False, comparaciones, operadores lógicos, valores truthy y falsy, cortocircuito y validación.

    Ler mais

    Tempo de leitura: 3 minutos
    11/07/2026
    Código Python mostrando uma função recursiva de fatorial com condição if e chamada da função dentro dela
    Fundamentos
    Foto de perfil de Leandro Hirt da Academify

    Recursión en Python: guía práctica con ejemplos

    Aprende recursión en Python con casos base, pila de llamadas, factorial, árboles, directorios, memoización, límites y alternativas iterativas.

    Ler mais

    Tempo de leitura: 3 minutos
    11/07/2026
    Logo do Python com símbolos de lista, tupla e dicionário
    Fundamentos
    Foto de perfil de Leandro Hirt da Academify

    Lista, tupla, set o diccionario en Python: diferencias

    Compara listas, tuplas, sets y diccionarios en Python: orden, mutabilidad, duplicados, acceso, rendimiento y casos de uso.

    Ler mais

    Tempo de leitura: 3 minutos
    11/07/2026
    Uso do operador in em Python para verificação em coleções
    Fundamentos
    Foto de perfil de Leandro Hirt da Academify

    Operador in en Python: pruebas de pertenencia

    Aprende a usar el operador in en Python con strings, listas, sets, diccionarios, rangos, generadores, not in y clases personalizadas.

    Ler mais

    Tempo de leitura: 3 minutos
    11/07/2026
    Introdução ao Python para iniciantes
    Fundamentos
    Foto de perfil de Leandro Hirt da Academify

    List comprehensions en Python: guía completa

    Aprende list comprehensions en Python con transformaciones, filtros, condiciones, bucles anidados, diccionarios, sets y generadores.

    Ler mais

    Tempo de leitura: 3 minutos
    11/07/2026
    Leitura e escrita de arquivos CSV em Python
    Fundamentos
    Foto de perfil de Leandro Hirt da Academify

    Archivos CSV en Python: leer, escribir y procesar

    Aprende a leer, escribir, filtrar y validar archivos CSV en Python con reader, writer, DictReader, DictWriter, UTF-8 y streaming.

    Ler mais

    Tempo de leitura: 3 minutos
    11/07/2026