Инструкция continue
Инструкция continue — младший брат break. Она завершает не весь цикл, а только текущую итерацию: пропускает остаток блока, и цикл сразу переходит к следующей итерации.
Этот цикл выводит числа от 1 до 10, но пропускает числа, кратные 3:
for number in range(1, 11):
if number % 3 == 0:
continue
print(number)Вывод:
1
2
4
5
7
8
10Для 3, 6 и 9 условие истинно, и continue пропускает print(number) под ним. Затем цикл продолжает работу как обычно, со следующим числом из range().
Обычно continue стоит в начале блока и отсеивает элементы, с которыми вы не хотите иметь дела: «этот мне неинтересен, переходим к следующему». Остальная часть блока тогда обрабатывает только интересные элементы.
Будьте осторожны с continue в цикле while. Он переходит прямо к условию, поэтому если строка, увеличивающая счётчик, стоит ниже continue, она тоже пропускается. Тогда счётчик больше никогда не изменится, и цикл не закончится. В цикле for такого произойти не может: список или range() каждый раз выдаёт циклу следующее значение.
Задание
- 1
Перед походом в магазин вы хотите вывести только то, чего нет дома. Напишите цикл
forпоshopping_list. В начале его блока напишитеif, который пропускает товар с помощьюcontinue, если он есть в спискеat_home(in). - 2
После
if, по-прежнему внутри цикла, выведитеКупить:и товар. Вывод:Купить: молоко,Купить: яйцаиКупить: яблоки, каждое на отдельной строке.