Al comienzo de mi carrera como programador, los ciclos eran uno de mis mas grandes problemas, quiero ayudar a entender a otros como poder entenderlo de forma correcta y no morir en el intento:
En mi perspectiva la mayor diferencia entre los dos ciclos es que el ciclo FOR sabe hasta donde debe iterar ya que recorre cadenas que ya estan reestablecidas, por ejemplo:
# En este ejemplo tenemos este diccionario con 3 indices:
diccionario = {
"name": "Nicolas",
"last_name": "Bejarano Jimenez",
"games": ["Halo", "Guitar Hero"],
"age": 150
}
'''
el ciclo for nos ayudara a iterar a traves de todo el diccionario ya que el mismo ciclo tiene un limite, ejemplo:
'''for i in diccionario: #la i toma el valor de cada clave en cada iteración.
print(i, "=>", diccionario[i])#imprime todas las iteraciones que se almacenan en i y recorre todo el diccionario
`En cambio el ciclo while debe tener una condición que evalúa en cada iteración del mismo ciclo. Mientras la condición sea verdadera, el bloque de código indentado se ejecutará una y otra vez. Se debe tener cuidado al utilizar el ciclo while para evitar crear bucles infinitos. por ejemplo:
# Iniciamos un contador de pagos en 0
transaction_counter = 0
# Lo limitamos para queno sea mayor de 100mil, de esta forma limitamos la iteracion porque si no pusieramos el menor que, seria un bucle infinito
while transaction_counter < 100000:
# Por cada iteracion aumentara 50 pesos
transaction_counter += 50
# Aqui limitamos el ciclo aun mas con un if, para que el valor que sea mayor a 18000 por el continue, si hicieramos un break, mostraria todos los datos a partir de 180000
if transaction_counter > 18000:
continueprint(transaction_counter)
`De esta forma podemos ver el funcionamiento de los dos bucles, de la forma en la que cada uno nos genera iteraciones de forma diferente, y asi podemos utilizarlos segun necesitemos.``