Когда нужно использовать while вместо for?
qaru.site/questions/88439/why-use-a-for-loop-inste...# Дополнение
Тут дело не в том, какой вариант надо/не надо использовать, а в том, какой будет семантически правильно использовать, исходя из здравого смысла, чтобы код был читаем для себя же самого в будущем и другими программистами.For используется в основном для итерации "от и до" - определенное количество раз. Например, перебор массива от нуля до известного нам конца массива, или для создания заранее известное количество экземпляров объектов.While (читай: пока / до тех пор, пока) в основном используется, как можно уже понять по смыслу, в циклах, когда заранее неизвестно количество операций в цикле до его завершения. Например выполнение программы до тех пор, пока пользователь не нажмет Esc, или генерирование числа Pi, пока не истечет время.
никто пример не скинул, поэтому оставлю тут для себя и других что нашел 
Предположим, что мы хотим попросить пользователя ввести число от 1 до 10. Но что произойдет, если он введет неправильное число?
В этом случае мы должны попросить его снова ввести значение, и проверить, соблюдено ли условие (введено ли число от 1 до 10).
Это случай, в котором цикл for с треском бы провалился. Потому что мы не можем заранее знать, сколько раз нам придется попросить пользователя ввести корректное число. В таком случае к нам на помощь приходит цикл while.
www.internet-technologies.ru/articles/cikl-while-v...