Цикл while как работает: do…while — JavaScript | MDN

Как работает цикл 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 есть два ключевых слова, с помощью которых можно преждевременно остановить итерацию цикла.

  1. Break — ключевое слово break прерывает цикл и передает управление в конец цикла
    a = 1
    while a 
  2. 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 

Здесь

  1. A цикл while оценивает условие
  2. Если условие оценивается как True , выполняется код внутри цикла while .
  3. условие оценивается снова.
  4. Этот процесс продолжается до тех пор, пока условие не станет False .
  5. Когда условие оценивается как 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: циклы, функции и возвраты.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *