whileВ Python цикл с предусловием реализуется инструкцией while:
Циклом называется многократно выполняемая последовательность инструкций. Продолжение работы цикла зависит от некоторого условия.
Условие цикла - это логическое выражение, которое определяет продолжение или окончание работы цикла.
Тело цикла - набор инструкций, выполняемых в цикле. Один шаг цикла после выполнения тела цикла называется итерацией.
Переменная цикла - это переменная, которая используется в условии цикла и меняет свое значение после каждой итерации.
Бесконечный цикл
Если логическое выражение цикла while всегда имеет значение True, то такой цикл будет работать бесконечно.
while с «часовым»Чтобы сделать цикл интерактивным можно применить технику под названием цикл с «часовым» (sentinel loop).
Цикл продолжает обрабатывать данные до тех пор, пока на вход не поступит специальное значение. Это специальное значение и называется «часовым».
Пользователь вводит положительные числа. Определите, является ли введённое число чётным или не чётным. Работа программы прекращается после ввода нуля.
Убедитесь, чтобы с клавиатуры было введено корректное значение возраста пользователя.
breakС помощью инструкции break можно прервать выполнение цикла и перейти к инструкциям расположенным после него.
continueИнструкция continue прерывает выполнение текущей итерации цикла. Интерпретатор вернётся к проверке условия цикла.
Объединим break и continue в одной программе.
Напишите игру «Угадай число». Компьютер загадывает число от 1 до 10 и предлагает его отгадать. Компьютер сообщает пользователю больше или меньше число введённое пользователем относительно загаданного числа. Для получения случайного числа используется модуль random.
import random
num = random.randrange(1,11)
guess = int(input(">"))
guesses = 1
while num != guess:
if num > guess:
print("Задуманное число больше введённого")
elif num < guess:
print("Задуманное число меньше введённого")
guess = int(input(">"))
guesses = guesses + 1
print("Задуманное число:", num)
print("Количество попыток:", guesses)forВ общем случае, цикл for используется для перебора элементов последовательности: символов в строке, элементов списка или целых чисел.
элемент - переменная цикла. На каждой итерации цикла в переменной цикла будет находится очередной элемент последовательности.
Строка - это последовательность символов, значит с помощью цикла for можно перебрать все символы в строке. В следующем примере выведем на экран все символы строки Привет, мир:
Последовательность целых чисел создаётся функцией range().
forbreak и continue в цикле forВ цикле for, как и в цикле while можно использовать инструкцию прерывания цикла break и continue - переход к следующей итерации цикла.
Код от домофона состоит из четырёх цифр. Вы помните цифры кода (все цифры разные), но забыли в каком порядке они расположены. Сколько, в худшем случае, комбинаций этих цифр вам нужно перебрать, чтобы открыть дверь?
\[ 4!=4\cdot3\cdot2\cdot1=24 \]
\[ n!=n\cdot(n-1)\cdot...\cdot1 \]
Для нахождения факториала используем алгоритм с переменной-аккумулятором (накопителем):
Найдите сумму и произведение чётных натуральных чисел меньше n и выведите её на экран. Число n вводится пользователем.
for отличается от цикла while?Какие последовательности чисел получатся:
range(5)
range(2, 8)
range(5, 10, 2)
range(10, 1, -2)
range(8, 1)
Счётчик
Переменная последовательно принимает значения, принадлежащие известному набору (натуральные числа, положительные чётные числа и т.д.).
Ключевые слова: найдите количество, посчитайте, сколько…
Аккумулятор
Переменная-аккумулятор накапливает в себе подходящие значения.
Ключевые слова: вычислите сумму/произведение…, измените содержимое строки…