Los bucles for , en general, se utilizan para el recorrido secuencial. Cae en la categoría de iteración definida. Las iteraciones definidas significan que el número de repeticiones se especifica explícitamente de antemano. Pero, ¿alguna vez te has preguntado qué sucede si intentas incrementar el valor del iterador desde dentro del bucle for? Veamos con la ayuda del siguiente ejemplo.
Ejemplo:
Python3
lis = [1, 2, 3, 4, 5] for i in range(len(lis)): print(lis[i]) i += 2
Producción:
1 2 3 4 5
El ejemplo anterior muestra este extraño comportamiento del bucle for porque el bucle for en Python no es un bucle for de estilo C convencional, es decir, for (i=0; i<n; i++) sino que es un bucle for in que es similar para cada bucle en otros idiomas. Sin embargo, existen algunos métodos mediante los cuales podemos controlar la iteración en el ciclo for. Algunos de ellos son –
- Uso del ciclo while: no podemos aumentar/disminuir directamente el valor de iteración dentro del cuerpo del ciclo for, podemos usar el ciclo while para este propósito.
Ejemplo:
Python
# Using while loop lis = [1, 2, 3, 4, 5] i = 0 while(i < len(lis)): print(lis[i], end = " ") # Changing the value of # i inside the loop will # change it's value at the # time of checking condition i += 2
- Producción:
1 3 5
- Usando otra variable: podemos usar otra variable para el mismo propósito porque después de cada iteración, el valor de la variable de bucle se reinicializa.
Ejemplo:
Python
# Using for loop lis = [1, 2, 3, 4, 5] i = 0 for j in range(len(lis)): # Terminating condition for i if(i >= len(lis)): break print(lis[i], end = " ") i += 2
- Producción:
1 3 5
- Uso de la función de rango: podemos usar la función de rango como el tercer parámetro de esta función especifica el paso.
Nota: Para obtener más información, consulte la función range() de Python.
Ejemplo:
Python3
# Using for loop lis = [1, 2, 3, 4, 5] for i in range(0, len(lis), 2): print(lis[i], end = " ")
- Producción:
1 3 5
Publicación traducida automáticamente
Artículo escrito por prakhar_kochar y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA