В серии: Библиотека alt м. В. Сысоева, И. В. Сысоев


Download 0.87 Mb.
bet35/40
Sana23.04.2023
Hajmi0.87 Mb.
#1387407
TuriКнига
1   ...   32   33   34   35   36   37   38   39   40
Bog'liq
Боши Лекция Парадигма и методы программирование

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:
1   ...   32   33   34   35   36   37   38   39   40




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling