3.2.1.1 Циклы в Python | while
Создана 29.04.2023
Отредактирована 20.05.2023
Отредактирована 20.05.2023
Donate for site my friends.
https://www.donationalerts.com/r/nocip
Зацикливание кода с помощью while
Вы согласны с изложенным ниже утверждением?
while there is something to do
do it
пока есть чем заняться
сделай это
Обратите внимание, что эта запись также заявляет, что если нечего делать, вообще ничего не произойдет.
В общем, в Python цикл можно представить следующим образом:
while conditional_expression:
instruction
пока условное_выражение:
инструкция
Если вы заметили некоторое сходство с инструкцией if, все в порядке. Действительно, синтаксическая разница только одна: вы используете слово while вместо слова if
Смысловое различие более важно: когда условие выполняется, if выполняет его утверждения только один раз; while повторяет выполнение до тех пор, пока условие оценивается как True
Примечание: здесь также применимы все правила, касающиеся отступов. Скоро мы вам это покажем.
Посмотрите на алгоритм ниже:
while conditional_expression:
instruction_one
instruction_two
instruction_three
:
:
instruction_n
Теперь важно помнить, что:
Бесконечный цикл, также называемый бесконечным циклом, представляет собой последовательность инструкций в программе, которые повторяются бесконечно (цикл бесконечно).
Вот пример цикла, который не может завершить свое выполнение:
while True:
print("I'm stuck inside a loop.")
Этот цикл будет бесконечно печатать "I'm stuck inside a loop." на экране.
ПРИМЕЧАНИЕ
Если вы хотите получить лучший опыт обучения, наблюдая, как ведет себя бесконечный цикл, запустите IDLE, создайте новый файл, скопируйте и вставьте приведенный выше код, сохраните файл и запустите программу. Вы увидите бесконечную последовательность "I'm stuck inside a loop." строки, выводимые в окно консоли Python. Чтобы завершить работу вашей программы, просто нажмите Ctrl-C (или Ctrl-Break на некоторых компьютерах). Это вызовет так называемое исключение KeyboardInterrupt и позволит вашей программе выйти из цикла. Мы поговорим об этом позже в курсе.
Вернемся к наброску алгоритма, который мы вам недавно показали. Мы собираемся показать вам, как использовать этот недавно изученный цикл, чтобы найти наибольшее число из большого набора введенных данных.
Внимательно проанализируйте программу. Посмотрите, где начинается цикл (строка 8). Найдите тело цикла и узнайте, как происходит выход из тела:
# Сохраните текущее наибольшее число здесь.
largest_number = -999999999
# Введите первое значение.
number = int(input("Enter a number or type -1 to stop: "))
# Если число не равно -1, продолжайте.
while number != -1:
# Если число больше, чем наибольшее_число?
if number > largest_number:
# Да, обновить наибольшее_число.
largest_number = number
# Введите следующий номер.
number = int(input("Enter a number or type -1 to stop: "))
# Выведите наибольшее число.
print("The largest number is:", largest_number)
Проверьте, как этот код реализует алгоритм, который мы показали вам ранее.
Вы согласны с изложенным ниже утверждением?
while there is something to do
do it
пока есть чем заняться
сделай это
Обратите внимание, что эта запись также заявляет, что если нечего делать, вообще ничего не произойдет.
В общем, в Python цикл можно представить следующим образом:
while conditional_expression:
instruction
пока условное_выражение:
инструкция
Если вы заметили некоторое сходство с инструкцией if, все в порядке. Действительно, синтаксическая разница только одна: вы используете слово while вместо слова if
Смысловое различие более важно: когда условие выполняется, if выполняет его утверждения только один раз; while повторяет выполнение до тех пор, пока условие оценивается как True
Примечание: здесь также применимы все правила, касающиеся отступов. Скоро мы вам это покажем.
Посмотрите на алгоритм ниже:
while conditional_expression:
instruction_one
instruction_two
instruction_three
:
:
instruction_n
Теперь важно помнить, что:
- если вы хотите выполнить более одного оператора внутри одного while, вы должны (как и в случае с if) сделать одинаковый отступ для всех инструкций;
- инструкция или набор инструкций, выполняемых внутри цикла while, называется телом цикла;
- если условие False (равно нулю) уже при первом тестировании, тело не выполняется ни разу (обратите внимание на аналогию с отсутствием необходимости делать что-либо, если нечего делать);
- тело должно иметь возможность изменять значение условия, потому что, если условие True вначале, тело может непрерывно работать до бесконечности - обратите внимание, что выполнение какой-либо вещи обычно уменьшает количество действий).
Бесконечный цикл, также называемый бесконечным циклом, представляет собой последовательность инструкций в программе, которые повторяются бесконечно (цикл бесконечно).
Вот пример цикла, который не может завершить свое выполнение:
while True:
print("I'm stuck inside a loop.")
Этот цикл будет бесконечно печатать "I'm stuck inside a loop." на экране.
ПРИМЕЧАНИЕ
Если вы хотите получить лучший опыт обучения, наблюдая, как ведет себя бесконечный цикл, запустите IDLE, создайте новый файл, скопируйте и вставьте приведенный выше код, сохраните файл и запустите программу. Вы увидите бесконечную последовательность "I'm stuck inside a loop." строки, выводимые в окно консоли Python. Чтобы завершить работу вашей программы, просто нажмите Ctrl-C (или Ctrl-Break на некоторых компьютерах). Это вызовет так называемое исключение KeyboardInterrupt и позволит вашей программе выйти из цикла. Мы поговорим об этом позже в курсе.
Вернемся к наброску алгоритма, который мы вам недавно показали. Мы собираемся показать вам, как использовать этот недавно изученный цикл, чтобы найти наибольшее число из большого набора введенных данных.
Внимательно проанализируйте программу. Посмотрите, где начинается цикл (строка 8). Найдите тело цикла и узнайте, как происходит выход из тела:
# Сохраните текущее наибольшее число здесь.
largest_number = -999999999
# Введите первое значение.
number = int(input("Enter a number or type -1 to stop: "))
# Если число не равно -1, продолжайте.
while number != -1:
# Если число больше, чем наибольшее_число?
if number > largest_number:
# Да, обновить наибольшее_число.
largest_number = number
# Введите следующий номер.
number = int(input("Enter a number or type -1 to stop: "))
# Выведите наибольшее число.
print("The largest number is:", largest_number)
Проверьте, как этот код реализует алгоритм, который мы показали вам ранее.
««« Назад к разделу 3.1 | Вперед »»» |
3.2.1.2 Циклы в Python | while продолжение |