Цикл while повторяет тело, пока условие истинно. Используется, когда заранее неизвестно, сколько раз нужно повторить:
i = 1
while i <= 5:
print(i)
i += 1
Цикл for перебирает элементы коллекции (списка, диапазона, строки). Используется, когда заранее известны объекты для итерации:
for i in range(1, 6):
print(i)
Оба вывода: 1 2 3 4 5.
Когда что использовать:
| Ситуация |
Цикл |
| Перебрать элементы списка |
for x in lst |
| Сделать N повторений |
for i in range(N) |
| Читать пока не введут 0 |
while x != 0 |
| Читать строки файла |
for line in file |
| Ждать события |
while not done |
Опасность while: если забыть обновлять переменную условия, получим бесконечный цикл.
Управляющие операторы:
break — выход из цикла досрочно.
continue — пропуск тек. итерации, переход к следующей.