Цикл while в питоне: Интерактивный учебник языка Python

Содержание

Цикл while в Python и алгебра логики

Главная › База знаний › Программирование › Python › Цикл while в Python и алгебра логики

В этом уроке познакомимся с алгеброй логики и циклом while в Python. Изучим подробнее на примере задания «Соответствие символов».

Алгебра логики

Мы уже рассматривали условия в Python для двух сравнений. Когда требуется больше сравнений, используется специальные операторы. Они объединяют два и более простых логических выражения. В таких случаях используются два логических оператора И (and) и ИЛИ (or).

Оператор and обозначается символов , а операция называется конъюнкцией. Для получения истины результаты обоих простых выражений должны быть истинными. Если хотя бы в одном случае результатом будет ложным, то выражение будет ложным. Приведем таблицу истинности для логического оператора and.

aba∧b
000
010
100
111
Таблица истинности для логического оператора and

Дизъюнкцией называется логическая операция, когда используется or. Этот оператор обозначается символом . Чтобы выражение стало истинным, результат хотя бы одного простого выражения должен быть верным. В случае оператора or сложное выражение становится ложным, когда неверны оба составляющие его простые выражения. Разберем таблицу истинности для оператора or:

aba∨b
000
011
101
111
Таблица истинности для логического оператора or

Цикл while в Python

Цикл — это некоторые повторяющееся действия или явления. Вспомним про годовой цикл: зима -> весна -> лето -> осень -> зима.

While используется для повторения частей кода. Он выполняется до тех пор, пока используемое условие является истиной.

Давайте рассмотрим работу подобного цикла на примере:

a = 10
i = 3
while a > i:
    print(i, "<-меньше a")
    i = i + 1
print(i, "<-теперь не меньше a")

Результат выполнения будет выглядеть так:

3 <-меньше a
4 <-меньше a
5 <-меньше a
6 <-меньше a
7 <-меньше a
8 <-меньше a
9 <-меньше a
10 <-теперь не меньше a

Часть кода выполняется столько раз, сколько условие было истинно. За счет увеличения i на каждом шаге удалось достигнуть такой величины, что условие цикла стало ложью.

Задание «Соответствие символов»

Необходимо написать программу, которая на вход получает строку и некий символ. Задача состоит в проверке наличия символа в приведенной строке.

S = input("введи строку: ")
C = input("введи символ: ")
size = len(S) # длина строки
i = 0
while (S[i] !=  C) and (i < size-1): # выходим из цикла если нашли символ или если строка закончилась
    print(S[i]," <- не является ",C)
    i = i+1
if(i == size-1):
    print("Конец строки")
else:
    print(S[i]," <- является ",C)

Проверим нашу программу. Для примера введем фразу «Hello world» и символ l, который включен в это выражение.

введи строку: Hello world
введи символ: l
H  <- не является  l
e  <- не является  l
l  <- является  l
>>> 

Введем символ, который не включен в эту фразу:

введи строку: Hello world
введи символ: z
H  <- не является  z
e  <- не является  z
l  <- не является  z
l  <- не является  z
o  <- не является  z
   <- не является  z
w  <- не является  z
o  <- не является  z
r  <- не является  z
l  <- не является  z
Конец строки

Курсы Робикс, в которых изучается этот материал.

  1. Программирование на Python в Minecraft
  2. Duckietown робот с системой Автопилота

Сохраните или поделитесь

while, цикл по условию в Python.

Конструкция while/else, цикл по условию.

Конструкция while выполняет код внутри цикла до тех пор, пока условие остаётся истинным. Как только условия перестаёт быть истинным, цикл завершается. В Python, как и в C, любое ненулевое целочисленное значение имеет значение истины True, ноль — это лож, False. Условие также может быть строкой или списком, фактически любой последовательностью. Все, что имеет ненулевую длину, имеет значение True, пустые последовательности — False. Стандартные операторы сравнения пишутся так же, как в C: < (меньше), > (больше), == (равно),

<= (меньше или равно), >= (больше или равно) и != (не равно).

count = 3
while count < 7:
    print(count, " < 7")
    count = count + 1
else:
    print (count, " = 7")
# Код выведет:
# 3 < 7
# 4 < 7
# 5 < 7
# 6 < 7
# 7 = 7

Цикл while еще называют циклом с предусловием.

Пример бесконечного цикла, будет выполняться, пока вы не нажмете Ctrl+C:

while True:
    print('бесконечность ', end='')

Бесконечные циклы, как правило, являются одним из источников неустойчивой работы программы.

Спецификация конструкции

while.

Конструкция while используется для повторного выполнения кода внутри цикла, пока выражение истинно True:

while_stmt :: = "while" expression":" suite
                ["else" ":" suite]

Выражение expression поддерживает цепочки сравнения, а также допускает указание нескольких условий, связанных логическими (булевыми) операторами OR, AND и NOT. Например:

while 0 < y <= 100:
    ...
# эквивалентно
while 0 < y and y <= 100:
    ...

Конструкция while многократно проверяет выражение expression, при этом выполняет код внутри блока while, и если expression стало ложно FALSE, то выполняется код внутри блока else, если он присутствует, и цикл завершается.

  • Оператор break: выполняется код внутри while до оператора break и завершает цикл без выполнения блока внутри
    else
    .
  • Оператор continue: выполняется код внутри while до оператора continue, пропускает оставшуюся часть кода и возвращается к проверке выражения.

Применим оператор break и continue в коде while/else и посмотрим на их поведение. Будем создавать список четных чисел из последовательности чисел от 0 до 14

lst = list(range(15))
new_lst = []
i = 0
while len(new_lst) < 13:
    i += 1
    # если число 8 есть в новом списке
    if 8 in new_lst:
        # прерываем цикл, при этом блок else не выполнится
        break
    # остаток от деления элемента списка
    a = lst[i] % 2
    # если элемент списка не четный
    if a != 0:
        # пропускаем оставшийся код
        continue
    # добавление в список числа
    new_lst. append(lst[i])
else:
    print ("Напечатает, если убрать условие с break")
print(new_lst)
# Код выведет:
[2, 4, 6, 7]

Как использовать циклы while в Python

Цикл while Python можно использовать для выполнения блока кода до тех пор, пока выполняется определенное условие . В то время как циклы в основном используются в Python, когда количество итераций не может быть определено во время написания кода. Продолжайте читать, чтобы узнать, как работает цикл while в Python.

Contents

  1. Что такое цикл while в Python?
  2. Как работает цикл while в Python?
    1. В чем разница между циклами for и while в Python?
    2. Будьте осторожны с бесконечными циклами while в Python
    3. Прерывание и пропуск циклов while в Python
  3. Как использовать циклы while в Python
    1. Использование коллекции с циклами while в Python
    2. Реализация собственной функции range() с циклы while в Python
    3. Оптимизация модели с использованием цикла while Python
    4. Установление соединений с циклом while и реализация try-except
    5. Перебор рекурсивных структур с помощью цикла while Python
    6. Запуск цикла while Python на игровой доске

Что такое цикл while в Python?

Цикл Python Python — это управляющая структура. Управляющие структуры определяют, какой путь кода будет выполняться во время выполнения. Как правило, циклы используются для многократного выполнения блока кода . Вот обзор наиболее важных структур управления в Python:

Начинающие программисты часто пытаются имитировать функциональность циклов, не зная, как они работают . Вместо того, чтобы определять структуру данных с несколькими элементами и обрабатывать ее в цикле, они определяют отдельную переменную для каждого набора данных. Они также дублируют код обработки наборов данных. Результат — неоптимальный код. Это показано в коде ниже:

 person1 = («Энн», 17 лет)
person2 = («Мария», 42 года)
person3 = («Кейт», 63 года)
print(f"{person1[0]}, {person1[1]} лет")
print(f"{person2[0]}, {person2[1]} лет")
print(f"{person3[0]}, {person3[1]} лет") 

В дополнение к дублирующемуся коду у этого подхода также есть логистическая проблема: если количество наборов данных не может быть определено до времени выполнения , отдельные переменные не могут быть определены заранее. Здесь на помощь приходят циклы и наборы элементов.

Если известно, сколько повторений потребуется во время выполнения, цикл for в Python будет лучшим вариантом. Например, мы можем переформулировать приведенный выше код, используя цикл for. Тогда он будет работать без дублирующего кода и будет использовать только две переменные, независимо от количества задействованных наборов данных.

 человек = ("Джим", "Джек", "Джон")
возраст = (17, 42, 63)
для человека, возраст в почтовом индексе (люди, возраст):
    print(f"{person}, {age} years") 

С другой стороны, вы захотите использовать цикл while в Python, если вы не знаете заранее, сколько раз коду потребуется повторить . Например, вы хотите написать код для обмена сообщениями по открытому соединению. Пока соединение установлено, сообщения будут обрабатываться. Оператор Python if в теле цикла будет оценивать сигналы и потенциально разрывать соединение, если оно требуется:

 в то время как connection_open():
    print('Готов к приему')
    process_messages()
    если should_close_connection():
        close_connection()
# после завершения цикла
print('Соединение было закрыто') 

Циклы while Python также используются для неограниченных итераций . Некоторыми хорошо известными примерами являются банкоматы, командная строка Linux и цикл Python Read-Eval-Print (REPL). Ниже мы показываем набросок реализации REPL с использованием бесконечного цикла while.

 # Петля
пока верно:
    # Чтение пользовательского ввода
    user_input = read_input()
    # Оценить ввод и получить результат
    результат = оценка (user_input)
    # Распечатать результат
    печать(результат) 

Как работает цикл while в Python?

Цикл while в Python работает так же, как операторы if в Python. Обе эти управляющие структуры состоят из двух частей:

  1. Состояние, которое будет оцениваться
  2. Тело с инструкциями

Разница между ними сколько раз выполняется тело . Тело оператора if выполняется один раз, максимум:

 if условие:
    run_once() 

Напротив, тело цикла while может выполняться несколько раз :

 условие while:
    run_again() 

Цикл while Python будет выполняться следующим образом:

  1. Условие оценивается.
  2. Если условие истинно, выполняется тело цикла.
  3. Условие оценивается снова.
    1. Если условие по-прежнему верно, процесс повторяется.
    2. Если условие ложно, цикл завершается.

Подобно операторам if, цикл while в Python также может включать блок else. Блок else является необязательным и будет выполняться один раз, если условие ложно (или становится ложным).

 при Ложном:
    # этот код не зацикливается
    never_runs()
еще:
    # вместо этого этот код запускается один раз
    run_once() 

В чем разница между циклами for и while в Python?

Цикл while Python связан с циклом for. Оба они используются для многократного выполнения блока кода . (Это также называется «итерацией».) Разница в том, сколько раз выполняется код.

В Python циклы for в основном используются для перебора элементов в коллекции . Максимальное количество итераций ограничено длиной коллекции.

Ниже мы перебираем буквы в слове «Python» и выводим каждую букву:

 

 для буквы в «Python»:
    print(letter) 

Цикл while Python основан не только на переборе коллекций. Он имеет ряд гибких применений. Цикл while является более простой конструкцией цикла . В то время как цикл for может быть построен с использованием цикла while, цикл while не может быть построен с использованием цикла for.

Давайте рассмотрим несколько примеров. Ниже мы будем использовать цикл while для воссоздания функциональности типичного цикла for с числовой переменной цикла . Для этого мы определим переменную-счетчик вне цикла и увеличим ее значение внутри цикла.

 счетчик = 0
предел = 10
в то время как счетчик < предел:
    печать (счетчик)
    counter += 1 

Эквивалент цикла for короче и точнее:

 для счетчика в диапазоне (10):
    print(counter) 

Теперь используйте цикл while для перебора букв в слове . Результаты будут аналогичны приведенному выше примеру. Мы будем использовать итератор и функцию next() . Если итератор исчерпан, вместо буквы будет возвращено None , и цикл будет прерван. Полученный код намного сложнее, чем аналогичный цикл for. Цикл while явно не лучшее решение этой проблемы:

 word = 'Python'
буквы = итер (слово)
буква = ''
пока буква не None:
    буква = следующая (буквы, нет)
    если письмо:
        печать(буква) 

Будьте осторожны с бесконечными циклами while в Python

Циклы while в Python особенно интересны, поскольку их можно использовать для реализации бесконечных циклов . На первый взгляд это может показаться нелогичным, поскольку программисты боятся случайных бесконечных циклов. Это потому, что условие никогда не становится ложным, поэтому программа застревает:

, в то время как True:
    print("Forever...") 

Случайные бесконечные циклы обычно являются результатом выражения, которое всегда оценивается как True. Например:

 пока 1 == 1 + 1 - 1:
    print("И когда-нибудь...") 

Однако существует способов использования намеренно созданных бесконечных циклов .

Прерывание и пропуск циклов while в Python

Цикл while обычно повторяется до тех пор, пока условие цикла не станет ложным . Обычный, но проблематичный прием — использование флаговой переменной в качестве условия. Это включает в себя определение логической переменной вне цикла и ее оценку в условии цикла. Когда в теле цикла достигнуто определенное условие, мы меняем флаговую переменную. Когда условие оценивается на следующей итерации, новое значение приведет к завершению цикла.

 прервано = Ложь
пока не прервано:
    print("Все еще идет...")
    если некое_условие:
        # предотвратит следующую итерацию
        aborted = True 

Это решение часто используется , но не особенно элегантно . Что происходит, когда в теле цикла появляется больше кода после изменения переменной флага? Код нужно пропустить. К счастью, в Python есть инструкция break для циклов while.

Если оператор break выполняется внутри цикла, цикл будет немедленно прерван. Возможно, вы видите сходство между операторами break в циклах и операторами return в функциях . Однако одно отличие состоит в том, что операторы break не возвращают значения. Обычной практикой является использование оператора break для завершения бесконечного цикла.

 пока верно:
    print("Все еще идет...")
    если некое_условие:
        ломать
        # мы никогда не доберемся сюда
        print("Нас здесь быть не должно")
# мы оказываемся здесь после разрыва
print("Done.") 

Близким родственником операторов break являются операторы continue . Если в теле цикла выполняется оператор continue, код , следующий за ним, будет пропущен . Выполнение продолжится со следующей итерации. Операторы break и continue можно использовать для реализации простых текстовых меню, как в ранних компьютерных играх:

 # «continue» приводит нас сюда. 
пока верно:
    print("Нажмите G, чтобы начать новую игру")
    print("Нажмите S, чтобы увидеть статистику")
    print("Нажмите M для входа в главное меню")
    print("Нажмите Q, чтобы выйти")
    
    key_press = input("На ваш выбор\n")[0].upper()
    print(f"Вы нажали {key_press}")
    
    если key_press == "G":
        # запускаем игровые процедуры
        print("Начало игры...")
    Элиф key_press == "С":
        # показать статистику
        print("Показ статистики...")
    Элиф key_press == "М":
        # вернуться в главное меню
        print("Возвращение в меню")
        Продолжать
    Элиф key_press == "Q":
        # выйти из цикла
        печать("Выход")
        ломать
    еще:
        print("Неизвестная команда. Попробуйте еще раз")
# «перерыв» приводит нас сюда
... 

Как использовать циклы while в Python

Существует различных вариантов использования циклов while в Python . Циклы while обычно используются для алгоритмов, в которых количество итераций не может быть определено заранее или где это число изменяется во время выполнения. Циклы While часто используются в сочетании с другими структурами управления, такими как операторы принятия решений и операторы try-else. Давайте рассмотрим несколько примеров.

 

Использование коллекции с циклами while в Python

Циклы for — хороший вариант для перебора элементов в коллекции в Python. По крайней мере, так происходит до тех пор, пока коллекция не изменяется в теле цикла. Но что произойдет, если мы будем вносить изменения по мере прохождения элементов? Представьте, что мы хотим удалить элементы из коллекции во время итерации. Это называется «потреблением» коллекции.

Странные ошибки могут возникать, когда базовая коллекция в цикле for изменяется во время итерации. Если мы хотим использовать коллекцию, цикл while — лучший выбор в Python. мы будем сделать сбор условием цикла while . Пока коллекция все еще содержит элементы, она будет оцениваться как True в логическом контексте. Если коллекция пуста, она оценивается как False, и цикл завершается.

 штук = ['х', 'о', 'о', 'о', 'х', 'о', 'х', 'х']
пока куски:
    кусок = штук.поп()
    print(f"Удалено {кусок}")
# тест
assert piece == [] 

Реализация собственной функции range() с помощью циклов while в Python

Циклы While также можно использовать для реализации генераторов в Python. Генератор — это функция, которая использует оператор yield и генерирует значения по команде. Ниже мы создадим наш собственная реализация функции range() . Мы будем использовать оператор yield в цикле while для генерации непрерывных чисел. Когда мы достигнем оператора yield, будет возвращено значение, и цикл приостановится.

 по определению мой_диапазон (старт, стоп):
    # реализованы только положительные диапазоны
    если стоп <= старт:
        возврат Нет
    текущий = начало
    в то время как текущий < стоп:
        выходной ток
        # следующий вызов next() продолжается здесь
        текущий += 1
# тест
утвердить список (мой_диапазон (7, 9)) == list(range(7, 9)) 

Оптимизация модели с помощью цикла while Python

Оптимизация моделей является частью стандартной практики в академических дисциплинах. Он включает в себя расчет модели на основе набора параметров. После этого параметры корректируются, и модель рассчитывается снова. Целевая функция используется для оценки того, привело ли изменение параметров к лучшей модели. Если это так, процесс повторяется. Вот как можно использовать итерацию для поиска оптимальных параметров модели.

Обычно модель выравнивается после нескольких итераций, что означает, что улучшение между моделями будет становиться все меньше и меньше. Если улучшение упадет ниже определенного значения, мы прекратим оптимизацию. Чтобы гарантировать завершение цикла, мы установим ограничение на максимальное количество итераций. Ниже показан этот подход к оптимизации моделей с использованием цикла while в Python.

 предел = 5
раунд = 0
прогресс = Истина
в то время как прогресс и раунд < предел:
    # попытка следующей оптимизации
    раунд += 1
    # вычислить оптимизированные параметры
    параметры = оптимизировать (параметры)
    # делаем копию старой модели
    старая_модель = модель
    # вычислить новую модель, используя оптимизированные параметры
    модель = запустить (модель, параметры)
    # стоит продолжать оптимизацию?
    прогресс = has_improved (модель, старая_модель) 

Установление соединений с помощью цикла while и реализация try-except

Установление соединения не всегда работает с первой попытки, поэтому часто используются множественные попытки. Поскольку мы не можем знать заранее, сколько попыток потребуется , мы будем использовать цикл while. Мы установим ограничение на максимальное количество попыток и прервемся с сообщением об ошибке, если ни одна из попыток не увенчалась успехом.

Вот подход, который мы будем использовать в Python. Мы используем Оператор try-except для обнаружения ошибок при установлении соединения . Использование оператора break в блоке try и оператора continue в блоке exclude гарантирует правильность итерации. Если соединение не установлено, мы попробуем еще раз с continue. Если соединение установлено, завершаем цикл с помощью break .

 макс_попыток = 10
попытка = 0
соединение = Нет
# «продолжить» приводит нас сюда
в то время как попытка < max_tries:
    попытка += 1
    print("Попытка установить соединение")
    пытаться:
        # может вызвать 'ConnectionException'
        конн = get_connection ()
        # получили наше соединение
        ломать
    # "get_connection()" вызвало 'ConnectionException'
    кроме ConnectionException:
        print("Что-то пошло не так.  Повторяем попытку")
        Продолжать
# прошли неудачные попытки подключения 'max_tries'
еще:
    утверждать, что соединение отсутствует
    print("Не удалось подключиться")
# 'break' приводит нас сюда
утверждать, что соединение не None
print("Соединение установлено") 

Перебор рекурсивных структур с помощью цикла while Python

Цикл while в Python хорошо подходит для решения рекурсивных задач . Это означает, что это хороший вариант для перебора:

  • Вложенные списки
  • Древовидные структуры
  • Графики

Давайте посмотрим, как это работает, на примере русских матрешек . Игрушка состоит из деревянных кукол, которые вкладываются друг в друга. Со стороны невозможно узнать, сколько кукол внутри, поэтому мы будем использовать итеративный подход. Откроем первую куклу и посмотрим, что мы найдем внутри. Если есть другая кукла, мы повторяем процесс. Это типичный пример использования циклов while.

Мы можем смоделировать кукол как встроенные списки, каждый из которых содержит один элемент . Списки будут либо содержать другой список, либо объект, который не является списком. Мы будем писать о кукле, пока это список. В теле цикла мы будем использовать присваивание, чтобы перейти на один уровень глубже. В какой-то момент мы найдем элемент, который не является списком. В этот момент итерация завершится.

 деф open_doll(кукла):
    """
    * Куклы-куклы, сложенные на пять уровней в глубину, с надписью «Нет» внутри:
    'кукла = [[[[[Нет]]]]]'
    """
    в то время как тип (кукла) список:
        print("Открываем следующую куклу")
        # перейти на один уровень глубже
        кукла = кукла.поп()
    еще:
        print(f"Достиг дна и нашел {куклу}")
        вернуть куклу
# тест
кукла = [[[[[Нет]]]]]
утверждать, что open_doll (кукла) - None 

Этот простой подход работает независимо от того, насколько глубоко кукла засела. Наш алгоритм докопается до дна и обнаружит встроенный объект. В этом заключается магия Python-циклов while в действии.

Запуск цикла Python while на игровой доске

Еще одно частое использование циклов while Python — движущихся фигурки в настольных играх . Если вы хотите покрыть все поля, вам понадобятся две петли, встроенные друг в друга. Но обязательно обратите внимание на время выполнения. При определенных обстоятельствах программа может работать очень долго.

Мы реализуем простое «случайное блуждание», при котором персонаж перемещается случайным образом, пока не достигнет пункта назначения. Этот тип движения подобен движению частицы в жидкости или мухе, летающей по комнате. Поскольку заранее неизвестно, сколько потребуется итераций , это работа для цикла while.

Сначала мы определим функцию random_walk() , которая будет содержать цикл while. С оператором Python для «равно» мы проверим, является ли текущее местоположение персонажа его пунктом назначения. Если нет, то повторяем снова.

 def random_walk (доска = (10, 10), цель = (4, 4), начало = (0, 0)):
    # убедиться, что аргументы допустимы
    если нет (цель[0] в диапазоне(доска[0]) и цель[1] в диапазоне(доска[1]) и начало[0] в диапазоне(доска[0]) и начало[1] в диапазоне(доска [1])):
        print(f"Цель {цель} и/или начальная позиция {начало} за пределами доски с размерами {доска}")
        возврат Нет, 0
    шаги = 0
    поз = начало
    # пока мы не достигли цели
    пока не pos == цель:
        # перейти на соседнюю позицию
        pos = get_neighbor(pos, доска)
        шаги += 1
        print(f"Перемещено на позицию {pos}")
    print(f"Достигнута цель в {pos} после {steps} шагов")
    возврат поз. , шаги 

Мы также определим вспомогательную функцию get_neighbor() , которая будет возвращать поле в определенном месте.

 по определению get_neighbor (позиция, границы):
    из случайного выбора импорта
    """
        х = 0 . . . м
            - - - - - - - -
     у = 0 |
           |
         . | (х, у-1)
         . | (х-1, у) (х, у) (х+1, у)
         . | (х, у+1)
           |
         н |
   
    """
    х, у = поз.
    # компьютерные соседи
    соседи = [(x - 1, y), (x + 1, y), (x, y - 1), (x, y + 1)]
    # отфильтровать соседей, которые находятся за пределами границ
    соседи = [ pos для pos в соседях, если 0 <= pos[0] 

Наконец, мы проверим нашу реализацию случайного блуждания.

 random_walk(доска = (10, 10), цель = (4, 4), начало = (5, 7)) Is and How It Use It  

TL;DR. Циклы используются для многократного выполнения определенных инструкций до тех пор, пока условие не будет выполнено.

Содержание
  • 1. Что такое цикл while в Python?
  • 2. Базовый синтаксис цикла while в Python
  • 3. Операторы break и continue в Python
  • 4. Цикл while в Python: полезные советы

Что такое цикл while в Python?

Цикл while состоит из условия или выражения, за которым следует выполняемый блок кода. Условие или выражение будут оцениваться в логическом контексте. Если это окажется правдой, код внутри блока будет запущен.

Это повторяется до тех пор, пока условие не будет оценено как ложное. В этот момент выполнение программы перейдет к первому оператору после тела цикла.

Как и в случае операторов if , цикл while можно указать в одной строке. Если в блоке тела цикла несколько операторов, их можно разделить точкой с запятой.

Циклы Python могут иметь предложение else , которое может быть включено в конец цикла. Блок кода else выполняется только в том случае, если цикл завершается без появления оператора break .

Базовый синтаксис цикла while в Python

Цикл while в Python можно создать следующим образом:

Пример

 while <выражение>:
    <оператор(ы)> 

<оператор(ы)> указывает раздел кода, который будет выполняться при каждой итерации цикла. Он также может быть известен как тело цикла.

Примечание: Python использует отступ для группировки операторов: все операторы с одинаковым отступом после конструкции считаются частью одного блока кода.

Управляющим <выражением> будет одна или несколько переменных, которые устанавливаются над циклом, а затем обновляются в теле цикла:

Пример

 i = 0
пока я < 10:
    печать (я)
    i += 1 

Попробуйте живое обучение на Udacity

Вывод приведенного выше кода будет выглядеть следующим образом:

Пример

 0
1
2
3
4
5
6
7
8
9 

Перед началом цикла i равно 0 . Выражение в строке 2 — i< 10 , что верно, поэтому тело цикла будет выполнено.

Переходя к телу цикла, в строке 3 печатается i , а затем увеличивается на 1 в строке 4, начиная с 0 до 1 .

Когда тело цикла завершает обработку, скрипт возвращается к началу для повторной оценки выражения. Поскольку это все еще True , тело снова запускается, и 2 является выходом.

Этот процесс продолжается до тех пор, пока i не станет 10 . Затем выражение будет проверено как False , и цикл завершится.

Pros

  • Simplistic design (no unnecessary information)
  • High-quality courses (even the free ones)
  • Variety of features

Main Features

  • Nanodegree programs
  • Suitable for enterprises
  • Платные аттестаты об окончании

Эксклюзив: 75% скидка

Pros

  • Легкий в навигации
  • Нет технических проблем
  • , кажется, не заботятся о своих пользователях

  • . политика дневного возврата
  • Бесплатные сертификаты об окончании

ОТ 12,99$

Pros

  • Отличный пользовательский опыт
  • Предлагает качественный контент
  • Очень прозрачный с их ценой

Основные функции

  • Бесплатные сертификаты о завершении
  • , ориентированные на навыки науки о данных
  • выполняется на каждом проходе. Чтобы завершить цикл while досрочно, Python предоставляет два ключевых слова: break и continue .

    А 9Оператор 0330 break немедленно завершит весь процесс цикла , при этом программа перейдет к первому оператору после цикла.

    continue операторы немедленно прекратят текущую итерацию , но вернутся к началу. Там управляющее выражение будет переоценено снова, чтобы определить, следует ли запустить или завершить цикл.

    Несколько примеров помогут проиллюстрировать разницу между ними:

    Пример

     я = 0
    пока я < 10:
        если я == 4:
            ломать
        печать (я)
        я += 1
    print('The end') 

    Попробуйте Live Learn на Udacity

    Приведенный выше код выведет:

    Пример

     0
    1
    2
    3
    Конец 

    Когда i = 4 , выполняется оператор break , и выходных данных больше нет.

    Мы также можем использовать ключевое слово continue в этом скрипте:

    Пример

     i = 0
    пока я < 10:
        если я == 5:
            я += 1
            Продолжать
        печать (я)
        я += 1
    print('Конец') 

    Попробуйте живое обучение на Udacity

    Эта реализация приводит к выводу ниже:

    Пример

     0
    1
    2
    3
    4
    6
    7
    8
    9
    Конец 

    Когда i = 5 , запускается оператор continue и программа снова начинается с начала, пропуская печать 5 , но печатая остальные числа в цикле.

Оставить комментарий

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

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