Считается число «успешных» статусов. Код: cnt = 0; цикл for st in ['ok', 'cancelled', 'ok']:; если st == 'cancelled', выполняется continue, иначе cnt += 1. Чему равно cnt после цикла?

A1: continue прерывает цикл сразу, поэтому второй элемент 'ok' не обработается счётчиком
B3: continue не влияет на счётчик, и каждый из трёх элементов увеличит cnt на единицу
C0: continue сбрасывает счётчик в начале каждой итерации, обнуляя cnt после прибавления
D2: continue пропускает только 'cancelled', а оба 'ok' увеличивают cnt до двойки
Правильный ответ. continue пропускает текущую итерацию и переходит к следующей.

Разбор

На втором элементе 'cancelled' сработает continue, поэтому cnt не увеличится. Для двух значений 'ok' счётчик увеличится на единицу каждый раз, итоговое значение cnt будет 2. В отличие от break, continue не выходит из цикла полностью, а лишь пропускает оставшийся код текущей итерации.

Проверь себя · 1/3разбор после ответа
Нужно сегментировать пользователей по orders_cnt: 0 → 'new', 1–4 → 'low', 5+ → 'high'. Какой порядок условий в цепочке if/elif/else корректный?
Тренировать Python в Telegram

Ещё вопросы по теме «Циклы и условия»