Bucles en Python: For y While con 15 Ejemplos Prácticos

👤 Admin 📅 14 de noviembre, 2025 ⏱ 12 min 🏷 Python Básico

Introducción a los Bucles

Los bucles permiten ejecutar un bloque de código múltiples veces. Son fundamentales para automatizar tareas repetitivas y procesar colecciones de datos.

Bucle For

El bucle for itera sobre secuencias (listas, tuplas, strings, rangos).

Sintaxis Básica

# Iterar sobre un rango
for i in range(5):
    print(i)  # 0, 1, 2, 3, 4

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

Range() - Generar Secuencias

# range(inicio, fin, paso)
for i in range(0, 10, 2):
    print(i)  # 0, 2, 4, 6, 8

# Contar hacia atrás
for i in range(10, 0, -1):
    print(i)

Bucle While

El bucle while ejecuta código mientras una condición sea verdadera.

contador = 0
while contador < 5:
    print(f"Contador: {contador}")
    contador += 1

# Bucle infinito controlado
while True:
    respuesta = input("¿Continuar? (s/n): ")
    if respuesta.lower() == 'n':
        break

Break y Continue

Break - Salir del Bucle

for i in range(10):
    if i == 5:
        break  # Sale del bucle
    print(i)  # 0, 1, 2, 3, 4

Continue - Saltar Iteración

for i in range(10):
    if i % 2 == 0:
        continue  # Salta números pares
    print(i)  # 1, 3, 5, 7, 9

Bucles Anidados

# Tabla de multiplicar
for i in range(1, 6):
    for j in range(1, 6):
        print(f"{i} x {j} = {i*j}")
    print()  # Línea en blanco

Enumerate() - Índice y Valor

frutas = ["manzana", "pera", "uva"]
for indice, fruta in enumerate(frutas):
    print(f"{indice}: {fruta}")
# 0: manzana
# 1: pera
# 2: uva

Zip() - Iterar Múltiples Listas

nombres = ["Ana", "Luis", "María"]
edades = [25, 30, 28]

for nombre, edad in zip(nombres, edades):
    print(f"{nombre} tiene {edad} años")

Ejemplos Prácticos

1. Suma de Números

suma = 0
for i in range(1, 101):
    suma += i
print(f"Suma de 1 a 100: {suma}")  # 5050

2. Números Primos

numero = int(input("Número: "))
es_primo = True

for i in range(2, numero):
    if numero % i == 0:
        es_primo = False
        break

if es_primo and numero > 1:
    print(f"{numero} es primo")
else:
    print(f"{numero} no es primo")

3. Patrón de Asteriscos

for i in range(1, 6):
    print("*" * i)
# *
# **
# ***
# ****
# *****

4. Factorial

n = 5
factorial = 1

for i in range(1, n + 1):
    factorial *= i

print(f"Factorial de {n} = {factorial}")  # 120

List Comprehension

Forma elegante de crear listas con bucles:

# Forma tradicional
cuadrados = []
for i in range(10):
    cuadrados.append(i**2)

# List comprehension
cuadrados = [i**2 for i in range(10)]

# Con condición
pares = [i for i in range(20) if i % 2 == 0]

Ejercicios de Práctica

Ejercicio 1: FizzBuzz

for i in range(1, 101):
    if i % 15 == 0:
        print("FizzBuzz")
    elif i % 3 == 0:
        print("Fizz")
    elif i % 5 == 0:
        print("Buzz")
    else:
        print(i)

Ejercicio 2: Invertir String

texto = "Python"
invertido = ""

for letra in texto:
    invertido = letra + invertido

print(invertido)  # nohtyP

Conclusión

Los bucles son herramientas poderosas para automatizar tareas repetitivas. Practica con diferentes tipos de iteraciones para dominarlos completamente.