Bucles: for y while para repetir acciones
Si tuvieras que procesar 1.000 registros de clientes, ¿copiarías el mismo código 1.000 veces? Claro que no. Para eso existen los bucles: repetir una acción tantas veces como sea necesario, con una sola definición.
Bucle for: iterar sobre una secuencia
frutas = ["manzana", "pera", "naranja", "kiwi"]
for fruta in frutas:
print(f"Me gusta la {fruta}")
El bucle for recorre cada elemento de la lista y ejecuta el bloque indentado una vez por elemento. La variable fruta toma el valor de cada elemento en cada vuelta.
range(): repetir N veces
# Imprime los números del 0 al 4
for i in range(5):
print(i)
# Del 1 al 10
for i in range(1, 11):
print(i)
# Del 0 al 20, de 2 en 2 (solo pares)
for i in range(0, 21, 2):
print(i)
range(inicio, fin, paso) — el fin no se incluye.
Bucle while: repetir mientras una condición sea verdadera
intentos = 0
contraseña_correcta = "python123"
while intentos < 3:
clave = input("Introduce la contraseña: ")
if clave == contraseña_correcta:
print("Acceso concedido.")
break # sale del bucle inmediatamente
else:
intentos += 1
print(f"Incorrecto. Te quedan {3 - intentos} intentos.")
if intentos == 3:
print("Cuenta bloqueada.")
break y continue
# break — sale del bucle inmediatamente
for numero in range(10):
if numero == 5:
break
print(numero) # imprime 0, 1, 2, 3, 4
# continue — salta esta vuelta y sigue con la siguiente
for numero in range(10):
if numero % 2 == 0:
continue # salta los pares
print(numero) # imprime 1, 3, 5, 7, 9
Bucles y listas — patrones útiles
numeros = [4, 7, 2, 9, 1, 5, 8, 3]
# Suma de todos
total = 0
for n in numeros:
total += n
print(f"Suma: {total}")
# Máximo sin usar max()
maximo = numeros[0]
for n in numeros:
if n > maximo:
maximo = n
print(f"Máximo: {maximo}")
Ejercicio práctico
Crea tabla_multiplicar.py:
numero = int(input("¿De qué número quieres la tabla? "))
print(f"\nTabla del {numero}:")
for i in range(1, 11):
print(f"{numero} × {i} = {numero * i}")
Checklist antes de marcar completada
- Entiendes cuándo usar
for(número conocido de repeticiones) vswhile(condición). - Sabes usar
range(inicio, fin, paso). - Conoces
breakycontinuey para qué sirven. - Has probado la tabla de multiplicar con varios números.
En la siguiente lección aprendes a organizar el código en funciones reutilizables. Con bucles y funciones ya puedes escribir programas que resuelven problemas reales.
📝 Comprueba lo aprendido
Responde estas 4 preguntas y acierta al menos el 60% para desbloquear el botón "Marcar como completada".