for
¶Un bucle es una estructura de control que repite un bloque de código un número conocido de veces.
El bloque de instrucciones que se repite se denomina cuerpo del bucle,
cada repetición se denomina iteración.
frutas = ["naranja", "banana", "manzana"]
for x in frutas:
print(x)
naranja banana manzana
La variable de control x
es una variable auxiliar que toma el valor sucesivo de los elementos de la lista.
palabra = "banana"
for letra in palabra:
print(letra)
b a n a n a
Ahora la variable de control es letra
que irá tomando sucesivamente los diferentes caracteres del string.
range()
¶Para efectuar un cierto número de ciclos, podemos usar la función range()
.
La función range()
devuelve una secuencia de números, comenzando en 0 de forma predeterminada, se incrementa en 1 (de forma predeterminada) y termina en un número especificado.
for i in range(5): #La variable i toma los valores de 0 a 4
print(i)
0 1 2 3 4
for i in range(1,5): #La variable i toma los valores de 1 a 4
print(i)
1 2 3 4
for i in range(10,20,2): #La variable i toma los valores: 10, 12, 14, 16, 18.
print(i)
10 12 14 16 18
for i in range(50,0,-10): #La variable i toma los valores: 50, 40, 30, 20, 10.
print(i)
50 40 30 20 10
range()
es un objeto de tipo range.
range(5)
range(0, 5)
type(range(5))
range
Podemos convertir el objeto range en una lista.
Ocupa menos memoria range(1000) que la lista correspondiente.
list(range(5))
[0, 1, 2, 3, 4]
pass
¶Los bucles for
no pueden estar vacíos, pero si está haciendo prueba y aún tiene el bucle for
sin contenido, ingrese la instrucción pass
para evitar errores.
for i in range(10):
pass
break
¶Interrumpir con break
. Con la instrucción break
podemos detener el ciclo antes de que haya pasado por todos los elementos
for i in range(5,25,2):
if i == 17:
break
print(i)
5 7 9 11 13 15
En el ejemplo anterior, si convertimos el break
en un comentario, el código nos daría error. Se soluciona poniendo pass
después del comentario.
Ejercicio
¿Qué pasaría si en el ejemplo anterior el print
va antes del if
?
continue
¶Con la instrucción continue
podemos detener la iteración actual del ciclo y continuar con la siguiente.
for i in ['primavera', 'verano', 'otoño', 'invierno']:
if i == 'verano':
continue
print(i)
primavera otoño invierno
else
en un bucle for
¶Else
se ejecutará cuando el bucle haya finalizado.
for i in range(6):
print(i)
else:
print("El bucle ha finalizado.")
0 1 2 3 4 5 El bucle ha finalizado.
La utilidad de else
reside en que si se utiliza en un bucle for
con un break
, si se interrumpe la ejecución del bucle, y en ese caso, no se llegará a ejecutar el bloque de código del else
.
for i in range(6):
print(i)
if i == 3:
break
else:
print("El bucle ha finalizado.")
0 1 2 3