Основные различия между использованием range() и while для итераций в Python:
Таким образом, range() используется, когда нужно сгенерировать определённую последовательность чисел, а while — когда количество итераций не определено. victor-komlev.ru www.educative.io
Например, цикл while может быть полезен при чтении ввода пользователя, когда непонятно, сколько раз нужно будет прочитать ввод, а цикл for — для перебора элементов списка или строки, если заранее известен список или последовательность элементов. victor-komlev.ru