Dentro de los fundamentos de Python, tenemos los bucles “For” y “While” que nos permiten interar bloques de código inclusive de forma infinita, por ello, se vuelven muy importantes al desarrollar flujos mientras codeamos.
Pero… ¿Cuándo utilizaríamos “For” y cuándo “While”?
De forma sencilla, “For” lo podemos utilizar para definir un bloque por cada dato dentro de un segmento, ya sea una lista, un diccionario, o inclusive datos de fuentes externas como lo puede ser un Excel. Entonces, sería una forma de decir, por cada dato, tráeme tal información, y así podemos irnos anidando bucle tras bucle. Ejemplo:for row in data_sheet.iter_rows(min_row=2, max_row=11): if row[4].value == ‘Production’: print(len(row))
Este caso, se usa para leer un Excel en el cuál se requería que por cada línea, el output me dijera cuantas líneas con determinado valor tenía el archivo.
“While” por su lado, sería otro tipo de bucle el cual podríamos ver como, mientras tenga este valor/este dato/esta variable, sigue repitiendo los mismos pasos, una y otra vez. Ejemplo en forma de juego:user_lifepoints = 3 while user_lifepoints >= 1: user_input = input(“2+2 =?”) If user_input == 4: break else: if user_lifepoints >= 1: user_lifepoints -= 1 print(“No, try again. Current life points: {}.”.format(user_lifepoints)) continue else: break
En este juego, el bucle “While” considera que mientras el usuario no conteste bien o tenga 0 vidas, el bucle seguirá preguntando lo mismo.
Espero esta información y ejemplos en forma de una conversación cotidiana/informal, te ayuden a distinguir entre “For” y “While” y te sirvan para aplicar el bucle correcto a tu código.
¡Saludos!