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':
breakBreak y Continue
Break - Salir del Bucle
for i in range(10):
if i == 5:
break # Sale del bucle
print(i) # 0, 1, 2, 3, 4Continue - Saltar Iteración
for i in range(10):
if i % 2 == 0:
continue # Salta números pares
print(i) # 1, 3, 5, 7, 9Bucles 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 blancoEnumerate() - Índice y Valor
frutas = ["manzana", "pera", "uva"]
for indice, fruta in enumerate(frutas):
print(f"{indice}: {fruta}")
# 0: manzana
# 1: pera
# 2: uvaZip() - 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}") # 50502. 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}") # 120List 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) # nohtyPConclusión
Los bucles son herramientas poderosas para automatizar tareas repetitivas. Practica con diferentes tipos de iteraciones para dominarlos completamente.