Как работает цикл while в python, примеры ~ PythonRu
Из этого материала вы узнаете, что такое циклы while, как они могут становиться бесконечными, как использовать инструкцию else
в цикле while и как прерывать исполнение цикла.
Управление потоком инструкций: цикл While в Python
Как и другие языки программирования Python включает несколько инструкций для управления потоком. Одна из таких — if else. Еще одна — циклы. Циклы используются в тех случаях, когда нужно повторить блок кода определенное количество раз.
Что такое цикл while в Python?
Цикл while используется в Python для неоднократного исполнения определенной инструкции до тех пор, пока заданное условие остается истинным. Этот цикл позволяет программе перебирать блок кода.
while test_expression: body of while
Сначала программа оценивает условие цикла while. Если оно истинное, начинается цикл, и тело while
исполняется. Тело будет исполняться до тех пор, пока условие остается истинным. Если оно становится ложным, программа выходит из цикла и прекращает исполнение тела.
Рассмотрим пример, чтобы лучше понять.
a = 1 while a
Вывод:
Цикл выполнился 1 раз Цикл выполнился 2 раз Цикл выполнился 3 раз Цикл выполнился 4 раз Цикл выполнился 5 раз Цикл выполнился 6 раз Цикл выполнился 7 раз Цикл выполнился 8 раз Цикл выполнился 9 раз Цикл окончен
Бесконечный цикл while в Python
Бесконечный цикл while — это цикл, в котором условие никогда не становится ложным. Это значит, что тело исполняется снова и снова, а цикл никогда не заканчивается.
Следующий пример — бесконечный цикл:
a = 1 while a==1: b = input('Как тебя зовут?') print('Привет', b, ', Добро пожаловать')
Если запустить этот код, то программа войдет в бесконечный цикл и будет снова и снова спрашивать имена. Цикл не остановится до тех пор, пока не нажать Ctrl + C
.
Else в цикле while
В Python с циклами while также можно использовать инструкцию else
. В этом случае блок в else
исполняется, когда условие цикла становится ложным.
a = 1 while a
Этот пример демонстрирует принцип работы else
в цикле while.
Вывод:
условие верно условие верно условие верно условие верно условие неверно
Программа исполняет код цикла while до тех, пока условие истинно, то есть пока значение a
меньше 5. Поскольку начальное значение a
равно 1, а с каждым циклом оно увеличивается на 1, условие станет ложным, когда программа доберется до четвертой итерации — в этот момент значение a
изменится с 4 до 5. Программа проверит условие еще раз, убедится, что оно ложно и исполнит блок else
, отобразив «условие неверно».
Прерывания цикла while в Python
В Python есть два ключевых слова, с помощью которых можно преждевременно остановить итерацию цикла.
- Break — ключевое слово
break
прерывает цикл и передает управление в конец циклаa = 1 while a
- Continue — ключевое слово
continue
прерывает текущую итерацию и передает управление в начало цикла, после чего условие снова проверяется. Если оно истинно, исполняется следующая итерация.
a = 1 while a
Интерактивный учебник языка Python
Занятие 6. Цикл while
Задача «Числа Фибоначчи»
Условие Последовательность Фибоначчи определяется так:
φ0 = 0, φ1 = 1, φn = φn−1 + φn−2.
По данному числу n определите n-е число Фибоначчи φn.
Эту задачу можно решать и циклом for
.
Во всех задачах считывайте входные данные через input()
и выводите ответ через print()
.
Войти или зарегистрироваться, чтобы отправлять решения на проверку
ТестыВходные данные | Правильный ответ | Что вывела программа | Результат | |
---|---|---|---|---|
6 | 8 | |||
0 | 0 | |||
2 | 1 | |||
3 | 2 | |||
4 | 3 | |||
1 | 1 | |||
5 | 5 | |||
7 | 13 | |||
8 | 21 | |||
9 | 34 | |||
10 | 55 | |||
11 | 89 | |||
12 | 144 | |||
13 | 233 | |||
14 | 377 | |||
15 | 610 | |||
16 | 987 | |||
17 | 1597 | |||
18 | 2584 | |||
19 | 4181 | |||
20 | 6765 |
Python while Loop (с примерами)
В этом уроке мы узнаем о цикле while в программировании на Python с помощью примеров.
Видео: Python while Loop
В программировании циклы используются для повторения блока кода. Например, если мы хотим показать сообщение 100 раз, мы можем использовать цикл. Это всего лишь простой пример, с помощью циклов мы можем добиться гораздо большего.
В предыдущем уроке мы узнали о цикле for в Python. Теперь мы узнаем о в то время как
цикл.
Python while Loop
Python while
цикл используется для запуска блочного кода до тех пор, пока не будет выполнено определенное условие.
Синтаксис цикла while
:
условие while: # тело цикла while
Здесь
- A
цикл while
оценивает условие - Если условие
True
, выполняется код внутри циклаwhile
. -
условие
оценивается снова. - Этот процесс продолжается до тех пор, пока условие не станет
False
. - Когда
условие
оценивается какFalse
, цикл останавливается.
Блок-схема цикла Python while
Блок-схема цикла whileПример: Python while Loop
# программа для отображения чисел от 1 до 5 # инициализируем переменную я = 1 п = 5 # цикл от i = 1 до 5 пока я <= п: печать (я) я = я + 1
Выход
1 2 3 4 5
Вот как работает программа:
Переменная | Условие: i <= n | Действие |
---|---|---|
i = 1 n = 5 | Правда | 1 печатается. i увеличивается до 2 . |
я = 2 n = 5 | Правда | 2 печатается. i увеличивается до 3 . |
i = 3 n = 5 | Правда | 3 печатается. i увеличивается до 4 . |
i = 4 n = 5 | Правда | 4 печатается. i увеличивается до 5 . |
i = 5 n = 5 | Правда | 5 печатается. i увеличивается до 6 . |
i = 6 n = 5 | Ложь | Цикл завершен. |
Пример 2: Python while Loop
# программа для вычисления суммы чисел # пока пользователь не введет ноль всего = 0 число = int(input('Введите число:')) # добавляем числа, пока число не станет равным нулю в то время как число != 0: итог += число # итог = итог + число # снова принять целочисленный ввод число = int(input('Введите число:')) print('total =', total)
Вывод
Введите число: 12 Введите число: 4 Введите число: -5 Введите число: 0 всего = 11
В приведенном выше примере , а
повторяется до тех пор, пока пользователь не введет ноль. Когда пользователь вводит ноль, условие проверки оценивается как False
, и цикл завершается.
Бесконечный цикл while в Python
Если условие
цикла всегда равно True
, цикл выполняется бесконечное количество раз (пока не заполнится память). Например,
возраст = 32 года. # условие проверки всегда истинно в то время как возраст > 18: print('Вы можете голосовать')
В приведенном выше примере условие
всегда оценивается как True
. Следовательно, тело цикла будет выполняться бесконечное количество раз.
Python Цикл While с else
В Python цикл while
может иметь необязательный блок else
.
Здесь часть else
выполняется после того, как условие цикла оценивается как False
счетчик = 0 пока счетчик < 3: print('Внутренний цикл') счетчик = счетчик + 1 еще: print('Внутри еще')
Выход
Внутренняя петля Внутренняя петля Внутренняя петля Внутри else
Примечание : блок else не будет выполняться, если цикл while завершается оператором break.
счетчик = 0 пока счетчик < 3: # цикл заканчивается из-за разрыва # остальная часть не выполняется если счетчик == 1: перерыв print('Внутренний цикл') счетчик = счетчик + 1 еще: print('Внутри еще')
Вывод
Внутренняя петля Внутри else
Python for Vs while циклы
Цикл for
обычно используется, когда количество итераций известно . Например,
# этот цикл повторяется 4 раза (от 0 до 3) для я в диапазоне (4): print(i)
Цикл while
обычно используется, когда количество итераций равно unknown . Например,
при условии: # запускать код до тех пор, пока условие не станет False
Содержание
Как писать и использовать циклы While на Python
Требуемые материалы: Последняя версия Python (Python 3), интегрированная среда разработки (IDE) по вашему выбору (или терминал), стабильное подключение к Интернету
Необходимые условия/полезно опыт: Базовые знания Python и концепций программирования
Циклы While являются инструментами управления потоком. Как и циклы for, они используются для перебора блока кода. В отличие от циклов for, они будут повторять этот блок кода неизвестное количество раз, пока не будет выполнено определенное условие. Вы будете использовать циклы while, когда не уверены, сколько раз вам нужно повторить код. Вы будете использовать циклы do while, когда вам нужно повторить хотя бы один раз.
Термин | Определение |
---|---|
Цикл while | Используется для перебора кода, когда условие истинно. Этот тип цикла обычно используется, когда неизвестно, сколько раз вам нужно повторить. |
Цикл For | Итерирующая функция, используемая для многократного выполнения инструкций. |
Поток управления | Поток управления или поток программы — это порядок выполнения в коде программы. |
Управляющие операторы | В Python continue, break и pass — это управляющие операторы, которые изменяют порядок выполнения программы. |
Циклические операторы | Циклические операторы многократно выполняют код, определяемый пользователем. |
Итерация | В программировании итерация — это многократное повторение кода или процесса до тех пор, пока не будет выполнено определенное условие. |
Выемка | Отступ — это пробел в начале каждой строки кода. В Python отступ указывает на новую строку кода. В других языках программирования он используется только для удобства чтения. |
Логическое выражение | Логическое выражение — это логический оператор. Это либо True , либо False . |
if | if является обычным условным оператором. Он определяет, должен ли оператор выполняться или нет, путем проверки заданного условия. Если условие верно, то , если будет выполнен блок кода . |
else | Оператор else содержит блок кода, который будет выполняться, если условие из оператора if ложно или разрешается в ноль. |
break | Команда break завершает содержащий ее цикл и перенаправляет поток программы на следующий оператор. |
Циклы While непрерывно выполняют код до тех пор, пока заданное условие или логическое выражение истинно. Они наиболее полезны, когда вы не знаете, сколько раз вам понадобится код для выполнения. Например, вы можете захотеть запустить фрагмент кода, пока заданное число находится в диапазоне от 1 до 5. В этом случае цикл будет выполняться , в то время как число остается между 1 и 5. Когда пользователь выбирает 6 или любое другое число, отличное от 1-5, поток управления выходит из тела цикла while.
Как работает цикл while в Python
Сначала интерпретатор Python проверяет тестовое выражение или условие while. Если тестовое выражение оценивается как true
, будет введено тело цикла while. Этот процесс повторяется до тех пор, пока тестовое выражение не станет равным false
.
Попробуйте сами
PYTHON
числа = [2, 4, 6, 8, 10] всего = 0 для числа в цифрах: всего += число print("Итого:", всего) 1
2
3
4
5
чисел = [2, 4, 6, 8, 10]
всего = 0
для числа в цифрах:
всего += число
print("Итого равно:", total)
Что интерпретатор отобразит в конце четвертого цикла?
После четвертого цикла интерпретатор напечатает Итого: 8
.
Помните, что отступы имеют решающее значение в Python. Отступ сообщает Python, где начинается и заканчивается тело цикла. Цикл while начинается с отступа и заканчивается на первой строке без отступа. Во-первых, давайте рассмотрим синтаксис и структуру цикла while в Python:
PYTHON
while count < 5: # условие для проверки продолжения цикла print(count) # тело цикла, будет выполняться, пока условие истинно 1
2
while count < 5: # условие для проверки продолжения цикла
print(count) # тело цикла будет выполняться до тех пор, пока условие истинно
Примечание о ненулевых значениях
Python будет интерпретировать все ненулевые значения как true
while нет
и 0
являются ложными
.Теперь давайте рассмотрим пример:
В этом примере цикл выводит четные числа от 0 до 8, потому что мы начинаем с 0 и добавляем 2 к числу для каждой итерации. Как только число
достигает 10, условие число < 10
перестает быть истинным, и цикл завершается.
Совет
Будьте осторожны, чтобы не создать бесконечный цикл. Если условие никогда не разрешается до false Значение
, происходит бесконечная итерация.Как упоминалось выше, первая строка кода без отступа отмечает конец цикла while. Однако может потребоваться досрочное завершение цикла или завершение текущей итерации цикла. В этом случае вы можете использовать один из трех операторов управления циклом:
1. Break
Ключевое слово break
используется для досрочного выхода из цикла. Он завершает содержащий его цикл и перенаправляет поток программы на следующий оператор.
Пример:
В этом примере мы используем цикл while
для вывода чисел от 1 до 10. Однако мы также используем оператор if
, чтобы проверить, достиг ли цикл середины пути, т.е. i
равно 5
. Если мы достигли половины пути, мы выводим на консоль сообщение: «Мы достигли половины пути, цикл останавливается». а затем немедленно выйти из цикла, используя оператор break
.
Подробнее: Как использовать Python Break: циклы In For, циклы While и операторы If
2. Продолжить
продолжить
— это ключевое слово Python, которое можно использовать для завершения текущей итерации цикла for. Поток управления продолжится до следующей итерации. Оператор continue
полезен, когда вы хотите пропустить определенные итерации цикла на основе некоторого условия, не выходя из цикла полностью.
Пример:
В этом примере цикл while
перебирает числа от 1 до 10. Оператор if
проверяет, является ли текущее значение i
четным. Если это так, выполняется оператор continue
, в результате чего цикл пропускает текущую итерацию и переходит к следующей без выполнения остальной части тела цикла. Если i
нечетно, выполняется оператор print
, выводящий значение i
.
3. Прохождение
Оператор pass
в Python намеренно ничего не делает. Его можно использовать в качестве заполнителя для будущего кода или когда оператор требуется по синтаксису, но вы не хотите, чтобы что-то произошло. В цикле while
вы можете использовать его, чтобы игнорировать определенное условие во время итерации.
Пример:
В этом примере цикл while
перебирает числа от 1 до 5. Оператор if
проверяет, соответствует ли текущее значение i
равно 3
. Оператор pass
указывает, что не нужно предпринимать никаких конкретных действий, когда i
равно 3
, но программа должна продолжать выполнение оставшейся части тела цикла.
Попробуйте сами
Напишите программу, которая постоянно предлагает пользователю ввести число от 1 до 10, пока пользователь не введет правильное число. Для каждого неверного ввода программа должна вывести сообщение об ошибке и предложить пользователю повторить попытку. Если пользователь вводит допустимое число, программа должна напечатать сообщение о том, что число допустимо, и выйти из цикла.
Используйте оператор continue
, чтобы пропустить любой ввод, который не является допустимым числом от 1 до 10.
Вот одно из возможных решений упражнения:
PYTHON
while True: num_str = input("Введите число от 1 до 10:") если не num_str.isdigit(): print("Ошибка: ввод должен быть числом.") продолжать число = целое (число_стр) если число < 1 или число > 10: print("Ошибка: число должно быть от 1 до 10.") продолжать print("Вы ввели правильное число:", число) перерыв 1
2
3
4
5
6
7
8
9
10
11
, пока верно:
num_str = input("Введите число от 1 до 10:")
если не num_str. isdigit():
print("Ошибка: ввод должен быть числом.")
продолжать
число = целое (число_стр)
если число < 1 или число > 10:
print("Ошибка: число должно быть от 1 до 10.")
продолжать
print("Вы ввели правильное число:", число)
break
В этом примере цикл for перебирает каждый символ в строке string от начала до конца. Для каждого символа он объединяет этот символ с началом переменной reversed_string. К концу цикла reversed_string будет содержать исходную строку в обратном порядке.
Нужна помощь?
Как завершить вложенный цикл while
? Если цикл while
является вложенным, обязательно поместите оператор break
во внешний цикл. В противном случае происходит выход только из внутреннего цикла. Цикл do while
является вариантом цикла while
, который проверяет условие в конце цикла, а не в его начале. Даже если условие никогда не будет истинным, операторы внутри тела цикла будут выполняться минимум один раз. Циклы do while
полезны, когда вам нужно, чтобы ваш код запускался хотя бы один раз. В Python нет встроенного цикла do while
, как в других языках программирования. Однако вы можете изменить обычный цикл Python while
, чтобы реализовать те же функции.
Как эмулировать цикл do while в Python
Цикл Python while
запускается только при выполнении условия. Поскольку он проверяет это условие в начале, он может вообще никогда не запуститься. Чтобы изменить в то время как
цикл в цикл делать в то время как
, добавьте true
после ключевого слова в то время как
так, чтобы условие всегда было истинным с самого начала. Затем вы можете добавить операторы if
для проверки внутреннего условия и операторы break для управления потоком цикла на основе ваших условий.
Вот пример:
Этот цикл выведет числа от 1 до 5, что эквивалентно поведению цикла do while
, который повторяется от 1 до 5. Мы используем break
оператор для выхода из цикла после того, как мы напечатали все числа, поскольку условие , в то время как
всегда равно True
и в противном случае привело бы к бесконечному циклу.
-
в то время как
циклов непрерывно выполняют код до тех пор, пока выполняется заданное условие. - В Python нет цикла
do while
, но вы можете изменить циклwhile
для достижения той же функциональности. - Есть три управляющих оператора, которые можно использовать для выхода из цикла while в Python:
перерыв
,продолжение
ипереход
. - Отступ сообщает Python, какие операторы находятся внутри или вне цикла.
- Быть разработчиком Python: что они могут делать, зарабатывать и многое другое
- Документация по инструментам управления потоком Python
- Памятка по циклам Python
- Как использовать Python Break
Управляемый проект, такой как концепции в Python: циклы, функции и возвраты.