Ya hemos aprendido todo lo necesario de las condiciones IF, ahora toca el turno del bucle for y while en Python.
Ciclo FOR
Un ciclo «for» es un bucle que repetirá un proceso tantas veces como se le indique en una itinerancia.
La forma mas simple de este bucle es usar la frase ‘in range’ para delimitar cuantas veces se repetirá el proceso.
for x in range(0,4): print(x)
Podemos usar cualquier valor que queramos dentro de los paréntesis del ‘range’ siempre que estos sean enteros.
my_list = [1,2,3,4] for x in range(0,len(my_list)): print(my_list[x])
Nota como la variable después de ‘for’ toma el valor de las itinerancias y el ciclo se repite tantas veces hasta que termine.
También, podemos hacer la itinerancia dentro de una lista para poder pasar por cada uno de los contenidos en la misma.
for x in my_list: print(my_list.index(x), x)
Adicional, podríamos combinar el ciclo ‘for’ con otras funciones que hemos visto hasta ahora para poder crear un codigo mas complejo.
for x in my_list: if x == 2: pass else: print(my_list.index(x), x)
O podríamos usar el principio de (inicio, fin, salto) para el ciclo ‘for’.
for x in range(2,8,3): # inicia en dos y da saltos de 3 hasta llegar al 7 print(x)
Regularmente estos ciclos se utilizan para incrementar valores de una variable o generar un proceso hasta cierto alcance.
counts = 0 for x in range(0,10): counts = counts + 1 if counts == 8: break print(counts)
Para incrementar valores dentro de una variable podemos usar la connotación.
- variable = variable + 1
o también
- variable += 1
counts = 0 for x in range(0,10): counts += 2 if counts == 8: break print("la cuenta llego a %d y tuvo %d itinerancias" % (counts, x))
Ciclos WHILE
El ciclo ‘while’ es un proceso que se repetirá hasta que una condición se cumpla.
A diferencia del ciclo ‘for’ el ciclo ‘while’ no tiene un rango determinado de termino, sino que se basa en una condición True o False para determinar cuando debe parar. Ten mucho cuidado con estas, pueden generar un bucle infinito si no están bien delimitadas.
count = 0 while count < 5: print(count) count += 1
i = 0 while True: i = i + 2 if i == 1000: break print('la variable llego hasta %d' %i)
Constantes ‘break’ y ‘continue’
Como pudiste notar en los ejemplos de arriba, se ha usado la palabra ‘break’ para interrumpir un proceso ‘for’ o ‘while’ en cierto punto. Esto es especialmente útil en el caso de ‘while’ para no generar un proceso infinito.
#interrumpir un proceso en cierto punto del bucle while i = 0 while True: i = i + 2 if i == 1000: break print('la variable llego hasta %d' %i) # interrumpir un proceso en cierto punto del bucle for counts = 0 for x in range(0,10): counts += 2 if counts == 8: break print("la cuenta llego a %d y tuvo %d itinerancias" % (counts, x))
En cambio, ‘continue’ marcara el punto en que un proceso puede continuar dada cierta condición. En el ejemplo de abajo puedes ver como cada vez que aparece un numero par el proceso no imprime este numero y continua con la siguiente x.
for x in range(10): if x%2 == 0: #osea si es un numero primo continue print(x)
Un ejemplo de como podría combinarse esto seria el siguiente.
numbers = [951, 402, 984, 651, 360, 69, 408, 319, 601, 485, 980, 507, 725, 547, 544, 615, 83, 165, 141, 501, 263, 617, 865, 575, 219, 390, 984, 592, 236, 105, 942, 941, 386, 462, 47, 418, 907, 344, 236, 375, 823, 566, 597, 978, 328, 615, 953, 345, 399, 162, 758, 219, 918, 237, 412, 566, 826, 248, 866, 950, 626, 949, 687, 217, 815, 67, 104, 58, 512, 24, 892, 894, 767, 553, 81, 379, 843, 831, 445, 742, 717, 958, 609, 842, 451, 688, 753, 854, 685, 93, 857, 440, 380, 126, 721, 328, 753, 470, 743, 527] # itinerancia que tomara todos los numeros pares hasta llegar al numero 237 en la lista for number in numbers: if number == 237: break if number % 2 == 1: continue print(number)
Felicidades! Ahora sabes todo lo necesario para dominar el bucle for y while en Python, los temas sustanciales los has logrado manejar a la perfección y estas listo para hacer tus primeras funciones.