В серии: Библиотека alt м. В. Сысоева, И. В. Сысоев
Download 0.87 Mb.
|
Боши Лекция Парадигма и методы программирование
- Bu sahifa navigatsiya:
- 3.3.3 Досрочное завершение цикла
- 3.3.4 Поиск первого вхождения
3.3.2 Счётчик событийЧасто требуется подсчитать, сколько раз во время вычислений наступает то или иное событие (выполняется то или иное условие). Для этого вводится вспомогательная переменная, которой в начале присваивается нулевое значение, а после каждого наступления события она увеличивается на единицу. Пример задачи 10 (Счётчик событий) Пользователь вводит 10 чисел. Определите, сколько из них являются одновременно чётными и положительными. Решение задачи 10 Решение можно записать следующим образом: Counter = 0 # Обнуляем переменную-счётчик i (0, 10): x = ( (’Введите число: ’)) (x%2 == 0) (x > 0): Counter = Counter + 1 (Counter) Вывод программы: Введите число: 2 Введите число: 3 Введите число: 4 Введите число: -2 Введите число: -4 Введите число: 3 Введите число: 5 Введите число: 7 Введите число: 6 Введите число: 3 3 3.3.3 Досрочное завершение циклаОтметим два простых оператора break и continue, с помощью которых можно управлять ходом выполнения цикла. Оператор break прерывает выполнение цикла, управление передается операторам, следующим за оператором цикла. Оператор continue прерывает выполнение очередного шага цикла и возвращает управление в начало цикла, начиная следующий шаг. n (10): n%2 == 0: n == 7: (n) Данная программа будет печатать только нечётные числа из-за срабатывания continue. Цикл прекратит выполняться, когда n станет равно 7. В итоге вывод программы таков: 1 3 5 3.3.4 Поиск первого вхожденияРанее мы подсчитывали количество положительных чётных чисел в последовательности ввода. Зачастую нужен не подсчёт, а только проверка, произошло ли за время вычислений некоторое событие. Например, необходимо проверить, содержится ли в некоторой последовательности хотя бы одно отрицательное число. Для того, чтобы утверждать, что отрицательных чисел в последовательности нет, необходимо просмотреть её всю. Если же такое число в ней есть, достаточно добраться до него, после чего цикл можно закончить. Получается цикл for с проверкой и оператором break внутри. seq = (12, 54, 0, -7, 22, -11, 54, 0, -7) x seq: x < 0: (x) В этом коде пока нет места для действий на случай, если отрицательное число не найдено. В самом деле, и после break, и после «естественного» завершения цикла программа продолжит работу с одной и той же строки. В Python на этот счёт предусмотрена конструкция else, относящаяся к циклу. Работает она так, как и ожидается: только если цикл завершился «естественным путём» — потому что проверка условия в while оказалась ложной или последовательность в for закончилась. Если же выход из цикла произошёл по break, блок операторов внутри else не выполняется. Так что для того, чтобы вывести какое-нибудь сообщение, если отрицательных чисел в последовательности нет, соответствующий print() надо добавить в такую конструкцию. seq = (12, 54, 0, 7, 22, 11, 54, 0, 7) x seq: x < 0: (x) : ("Отрицательных чисел нет") Download 0.87 Mb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling