Цикл while в Python
Цикл while («пока») позволяет выполнить одну и ту же последовательность действий, пока проверяемое условие истинно. Условие записывается после ключевого слова while и проверяется до выполнения тела цикла.
Цикл while используется, когда невозможно определить точное количество повторений цикла.
i = 0 # объявление переменной i для условия цикла
while i 5 : # ключевое слово ‘while’ и условие выполнение цикла
# тело цикла
print (i) # вывод значения переменной i
i += 1 # увеличение значения переменной i на единицу
Цикл while может быть бесконечным.
i = 0
while True : # условие всегда истинно
print (i)
i += 1
# Вывод:
>> 0
>> 1
>> 2
>> 3
>> 4
.
>> 999
.
# Это может продолжаться долго.
Выполнение цикла можно прерывать с помощью оператора break.
i = 0
while 1 : # условие всегда истинно
if i == 3 : # если i равно 3, то вызываем оператор break
break # оператор break прерывает выполнение цикла
print (i)
i += 1
Оператор continue начинает повторение цикла заново.
i = 0
while i 5 :
i += 1 #
if i % 2 == 1 : # если значение i нечетно, то вызываем оператор continue
continue # оператор continue начинает повторение цикла заново
# в случае вызова continue код ниже не выполнится
print (i)
Как и для цикла for, для цикла while мы можем записать конструкцию else.
x = 1
while x 5 :
print (x)
x += 1
else :
print ( ‘Цикл завершен’ )
Примеры
# Пользователь вводит числа A и B (A > B). Выведите все числа от A до B включительно.
A = int ( input ( ‘Введите число: ‘ ))
B = int ( input ( ‘Введите число: ‘ ))
while A >= B:
print (A)
A -= 1
# Пользователь вводит числа до тех пор, пока не введет 0.
# Выведите количество введенных чисел (0 считать не нужно).
n = int ( input ( ‘Введите число: ‘ ))
counter = 0 # счетчик введенных чисел
while n: # n неявно преобразуется в тип bool
# если n равно 0, то выполнение цикла прервется
n = int ( input ( ‘Введите число: ‘ )) # вводим очередное число
counter += 1 # увеличиваем счетчик
print ( f ‘Количество чисел
# Ввод:
>> 1
>> 10
>> 100
>> 1000
>> 0
# Вывод:
>> Количество чисел 4
3. Наименьший делитель
# Пользователь вводит число N (N > 1). Выведите его наименьший делитель.
N = int ( input ( ‘Введите число: ‘ ))
div = 2
while N % div != 0 :
div += 1
print ( f ‘Наименьший делитель равен
# Ввод:
>> 10
# Вывод:
>> Наименьший делитель равен 2
# Ввод:
>> 15
# Вывод:
>> Наименьший делитель равен 3
# Ввод:
>> 17
# Вывод:
>> Наименьший делитель равен 17
Решение задач
Пользователь вводит числа A и B (A > B). Выведите четные числа от A до B включительно.
2. От A до B на три
Пользователь вводит числа A и B (A # Ввод:
>> 1
>> 15
# Вывод:
>> 3
>> 6
>> 9
>> 12
>> 15
Пользователь вводит числа до тех пор, пока не введет 0. Выведите сумму введенных чисел (0 считать не нужно).
# Ввод:
>> 1
>> 15
>> 10
>> 11
>> 2
>> 0
# Вывод:
>> Сумма равна: 39
Пользователь вводит числа до тех пор, пока не введет 0. Выведите максимальное введенное число (0 считать не нужно).
# Ввод:
>> 1
>> 15
>> 10
>> 11
>> 2
>> 0
# Вывод:
>> Максимум равен: 15
Пользователь вводит числа до тех пор, пока не введет 0. Выведите минимальное введенное число (0 считать не нужно).
# Ввод:
>> 1
>> 15
>> 10
>> 11
>> 2
>> 0 # 0 не входит в последовательность
# Вывод:
>> Минимум равен: 1
Пользователь вводит число N. Выведите факториал число N. Факториал числа N — это произведение всех чисел от 1 до N включительно. Например, факториал числа 5 равен 120.
7. Фибоначчи (финальный босс)
Пользователь вводит число N. Выведите N-ное по счету число Фибоначчи. Последовательность чисел Фибоначчи рассчитывается по такой формуле: F(1) = 1, F(2) = 1, F(K) = F(K-2) + F(K-1). Идея такая: каждое следующее число равно сумму двух предыдущих.
Как ввести несколько значений
? Мне нужно ввести неограниченное количество значений и их где-то сохранить, вот только как и где? Ну, как я понял, сохранить в список, а как мне добавить много значений в за один раз? Наверное вопрос не сильно понятен. Ладно, вот сама здача
На оси Оx заданы N точек с координатами x1,x2. xn. Найти такую точку Z, сумма расстояний от которой до данных точек минимальная. (15 баллов)
Входные данные. В первой строке вводится кол-во точек — N. В следующих строках вводятся координаты точек — x1,x2. xn.
Выходные данные. Выводится точка Z сумма расстояний от которой до данных точек минимальная.
Ограничение по времени: 0,1 сек. на тест
Ограничение по памяти: 64 МБ
Примеры входных и выходных данных:
Как ввести несколько переменных в 1 строку?
Можно ли так? a, b, c = map(int, input().split(»)) print(a + b + c)
Как ввести несколько переменных из одной строки
Как ввести несколько переменных из одной строки, не зная количество переменных? Кроме варианта.
Как сделать несколько значений
Здравствуйте , я ещё новичок и решил написать простую программу . b = int(input("Узнай какая.
Как вернуть из функции несколько значений?
Как вернуть из функции несколько значений?
Цикл while с условием в Python и его операторы break и continue
Циклы — управляющая конструкция, которая дает возможность выполнять определенный участок кода многократно.
Цикл while — выполняет блок кода, пока проверяемое условие выполняется.

Синтаксис цикла while
Как работает цикл while в Python

i = 1 — переменная, которая является счетчиком для цикла while.
Далее идет обозначение цикла — while и условие выполнения цикла — i < 5 .
Т.к. i = 1 , то условие верно 1 < 5 (True) и цикл начинает выполняться.
Выводится значение переменной i (#1), далее значение переменной i увеличивается на 1 и цикл повторяется сначала.
Теперь i = 2 , т.к. мы увеличили ее на 1 в последней инструкции цикла.
Проверяется условие 2 < 5, условие верно (True) и цикл продолжает выполняться.
Печатается значение переменной i (#2), далее значений переменной i снова увеличивается на 1 и теперь i = 3 .
Снова происходит проверка условия цикла и так по кругу.
После того, как условие не выполняется — цикл останавливается.
Бесконечный цикл while
В прошлом примере у нас была переменная i , которая была счетчиком цикла и увеличивала свое значение в результате каждой итерации цикла.
Благодаря которой цикл остановился, т.к. условие перестало выполняться.
Если такой переменной не будет, или условие будет некорректное, то цикл может стать бесконечным. Т.е. будет выполняться бесконечное число раз:
В этих примерах условие всегда истинно и поэтому цикл становится бесконечным.
Но бесконечные циклы, также бывают полезными, например, когда мы заранее не знаем, сколько раз нужно выполнить цикл, но важно, чтобы цикл был контролируемым.
Т.е. чтобы мы могли сделать в нужный момент условие ложным False и остановить цикл.
Else в цикле while
Оператор Else в цикле while абсолютно идентичен оператору Else в условном if-else.
Инструкции выполняются в нем, если условие цикла while — False .
В этом примере при каждой итерации цикла значение переменной i , которая является счетчиком, увеличиваться на 1.
И когда значение i становится 5, условие цикла не выполняется, т.к. оно ложно, цикл завершается и выполняется блок Else .
Управление циклом — Break и Continue

Иного бывает необходимо прервать цикл, при выполнении какого-либо условия или же пропустить итерацию цикла. С этим помогают операторы управления циклом.
Break
Оператор Break останавливает цикл и Python идет выполнять следующие после цикла инструкции.
Мы создали бесконечный цикл, т.к. условие цикла всегда True . Но внутри цикла создали отдельно условие, при котором цикл прерывается с помощью оператора break .
Continue
Оператор Continue — пропускает 1 итерацию цикла, без полной остановки цикла.
К примеру, мы создаем цикл, в котором хотим вывести все четные числа от 1 до 10:
Создаем цикл от 1 до 10, со счетчиком i , который изначально равен 1.
Далее в этом цикле каждый раз проверяем условие — если остаток от деления i на 2 неравно 0, значит это число нечетное, увеличиваем переменную-счетчик i на единицу и с помощью оператора continue пропускаем итерацию.
Т.е. не печатаем значение переменной, а переходим назад к условию цикла.
Цикл while в одну строку
Python дает возможность записи цикла while в одну строку:
Полностью аналогичен стандартной записи:
Вложенные циклы while
Без проблем можно размещать один цикл while внутри другого.
К примеру, выведем с помощью вложенных циклов таблицу умножения:
Задачки на с циклом while
Сумма чисел
Пользователь вводит целые числа до тех пор, пока не введет 0. Посчитаем сумму введенных чисел.
Создадим переменную a и присвоим ей значение 1, для того, чтобы запустить цикл while (1 будет преобразована в тип bool — True ).
Создадим переменную s , которая будет отвечать за подсчет суммы чисел введенных пользователем.
Внутри цикла пользователь вводит числа, которые суммируются, когда пользователь введет 0, цикл остановится, т.к. условие станет False .
После цикла выведем сумму всех чисел.
Минимальное число
Пользователь вводит целые числа до тех пор, пока не введет 0. Определить минимально число.
Создадим переменную min_num , которой присвоим первое введенное пользователем число.
С помощью этой же переменной создадим бесконечный цикл while.
В цикле запрашиваем у пользователя новые числа, которые присваиваем переменной b .
Создадим 2 условия внутри цикла:
1) Если пользователь ввел 0, то цикл останавливаем с помощью оператора break .
2) Во втором условии сравниваем введенной число с предыдущим и если оно меньше, то присваиваем его переменной min_num .
Четные от A до B
Пользователь вводит числа A и B (B > A). Выведем все четные числа от A до B включительно.
Переменным a и b присвоим введенные пользователем числа (начало и конец диапазона, в примере 1 и 10).
Создадим цикла while, который будет выполняться «пока b больше либо равно a».
В цикле создадим условие, если a делится на 2 без остатка, то это четное число и его выводим.
К счетчику a добавляем 1 при каждой итерации цикла.
8.1. Python – Цикл while: синтаксис, блок-схема, примеры. Бесконечный цикл. Оператор else с циклом while. Цикл while в одну строку
В языке программирования Python цикл while многократно выполняет целевой оператор, пока заданное условие истинно.
Синтаксис
Синтаксис цикла while в языке программирования Python:
Здесь оператор(ы) могут быть одиночным оператором или блоком операторов. Условие может быть любым выражением, а true — любым ненулевым значением. Цикл повторяется, пока условие истинно.
Когда условие становится ложным, управление программой переходит к строке, следующей за циклом.
В Python все операторы с отступом на одинаковое количество символов после программной конструкции считаются частью одного блока кода. Python использует отступы в качестве метода группировки операторов.
Блок-схема
Здесь ключевым моментом цикла while в Python является то, что цикл может никогда не запуститься. Когда условие проверяется и результат оказывается ложным, тело цикла будет пропущено, и будет выполнен первый оператор после цикла while.
Пример
Когда приведённый выше код выполнится, он даст следующий результат:
Здесь блок, состоящий из операторов печати и инкремента, выполняется повторно до тех пор, пока значение count не станет меньше 9. С каждой итерацией отображается текущее значение счетчика индексов, которое затем увеличивается на 1.
Бесконечный цикл
В Python цикл становится бесконечным, если условие никогда не становится ЛОЖНЫМ. Вы должны соблюдать осторожность при использовании циклов while из-за возможности того, что это условие никогда не перейдёт в значение FALSE. Это приводит к циклу, который никогда не заканчивается. Такой в Python цикл while называется бесконечным циклом.
Бесконечный цикл может быть полезен в клиент-серверном программировании, когда сервер должен работать непрерывно, чтобы клиентские программы могли взаимодействовать с ним по мере необходимости.
Как сделать бесконечный цикл в Python? Ниже пример бесконечного цикла.
Когда приведённый выше код выполнится, он даст следующий результат:
Вышеприведенный пример выполняется нескончаемо. Как остановить бесконечный цикл в Python? Используйте CTRL + C, чтобы выйти из бесконечного цикла и программы.
Использование оператора else с циклом while
Python поддерживает оператор else, объединенный с оператором цикла while. Если оператор else используется с циклом while, оператор else выполняется, когда условие становится ложным.
В следующем примере показано сочетание в Python оператора else с оператором while, который выводит число, если оно меньше 5, в противном случае выполняется оператор else.
Когда приведённый выше код выполнится, он даст следующий результат:
Цикл while в одну строку
Подобно синтаксису оператора if, если ваш цикл while состоит только из одного оператора, оно может быть помещено в ту же строку, что и заголовок while.
Ниже приведен синтаксис и пример однострочного while.
Лучше не пробовать приведенный выше пример, потому что он входит в бесконечный цикл, и вам нужно нажать клавиши CTRL + C, чтобы выйти.