☰ Содержание · Информатика

Управление циклом и обмен значениями

Уроки 46 · 1 урок · М. Р. Файзиева, Д. М. Сайфуров, Н. С. Хайтуллаева. Информатика и информационные технологии, 9 класс. «Nashriyot uyi Tasvir», Ташкент, 2020
46

Управление циклами: операторы continue и break

Учебник: с. 89–91
ЦельРазличает назначение операторов break и continue, правильно завершает цикл while True: с помощью break и меняет местами значения двух переменных в виде a, b = b, a.
Новые слова
break: сразу выходит из цикла · breakcontinue: пропускает остаток текущего прохода и переходит к следующей итерации · continuewhile True: цикл, который останавливается только оператором break · while Truea, b = b, a: меняет значения двух переменных местами в одной строке · a, b = b, a
Объяснение

Работой цикла можно управлять не только условием цикла. Оператор break сразу завершает цикл, и программа продолжается со строки после цикла; обычно он записывается внутри if. continue отбрасывает остаток текущей итерации и переходит к следующему обороту цикла, а цикл при этом не останавливается. Например, чтобы принимать слова, пока пользователь не наберёт «stop», пишется while True: и выполняется break, когда приходит «stop»: здесь число повторений не нужно знать заранее. Отдельная тема – обмен значений. В других языках нужна третья переменная, а в Python достаточно написать a, b = b, a: сначала вычисляется правая часть, а затем значения присваиваются именам слева. Поэтому в a, b = b, a + b оба выражения вычисляются со старыми значениями.

Примеры
Остановка с помощью break: while True: ⏎     w = input() ⏎     if w == "stop": ⏎         break ⏎     print(len(w)) Если набрать olma, kitob и stop, выводятся 4 и 5; когда приходит stop, цикл заканчивается и его длина не выводится.
Пропуск с помощью continue: for i in range(1, 11): ⏎     if i % 3 == 0: ⏎         continue ⏎     print(i, end=" ") Числа, кратные 3, не выводятся: 1 2 4 5 7 8 10. Обмен: a, b = 1, 2 ⏎ a, b = b, a ⏎ print(a, b) 1 и 2 меняются местами: 2 1.
Работа в классе

«Обмен»: два ученика вживую показывают a, b = b, a с карточками (значениями) в руках; затем три раза подряд выполняют a, b = b, a + b и наблюдают результат.

Упражнения
1
Что выводит эта программа? for i in range(1, 8): ⏎     if i == 5: ⏎         break ⏎     print(i, end=" ")
2
Напишите программу с continue, которая находит сумму чисел от 1 до 20, не кратных 5.
3
После a, b = 3, 9, если выполнить a, b = b, a + b, чему равны a и b?
4
Почему цикл while True: должен содержать break?