Как работают циклы for и while? В чём между ними разница?

Цикл for в Python проходит по элементам итерируемого объекта (for item in iterable:) и повторяет блок кода для каждого элемента. Цикл while повторяет блок кода, пока условие остаётся истинным (while condition:). Обычно for используют, когда заранее известна последовательность или число итераций, а while — когда нужно крутиться «пока выполняется условие».
Подробный ответ

Цикл for

В Python for итерируется по элементам последовательности или любого итерируемого объекта.

nums = [1, 2, 3]
for n in nums:
    print(n)

Конструкция for n in nums берёт по очереди каждый элемент из nums и кладёт в переменную n, после чего выполняет тело цикла.

Часто используют с range(), чтобы повторить действие фиксированное количество раз:

for i in range(5):
    print(i)  # 0, 1, 2, 3, 4

Цикл while

while выполняет блок кода, пока условие остаётся истинным.

count = 0
while count < 3:
    print(count)
    count += 1

Здесь цикл завершится, когда count станет равен 3. Важно не забывать изменять переменные в условии, иначе можно получить бесконечный цикл.

Разница в использовании

  • for удобен, когда ты итерируешься по уже известной коллекции или диапазону: списки, строки, range, результат enumerate и т.д.

  • while удобен, когда заранее неизвестно количество повторов, и нужно «крутиться, пока условие истинно» — например, читать данные, пока они приходят, или ждать определённого состояния.

Как кратко ответить на собеседовании

В Python for перебирает элементы итерируемого объекта (for item in iterable) и выполняет блок для каждого элемента. while выполняет блок, пока условие истинно (while condition). Обычно for используют, когда есть последовательность или известное число итераций, а while — когда количество повторов заранее неизвестно и зависит от условия.

Оцени свой прогресс

Честно оцени своё понимание этого вопроса, чтобы мы могли построить твой учебный трек максимально эффективно.
Читать в блоге