Внимание! На этой странице вы найдете материал урока из архивного курса по Python. Курс был написан в 2024 году и по-прежнему актуален для начинающих разработчиков.
Теоретический материал сохранен в исходном виде, а практические задания с автоматической проверкой вынесены в отдельные интенсивы и задания.
Полный список уроков доступен по тегу Архивный курс по Python и на странице первого урока.
- Цикл
whileв Python предназначен для выполнения блока кода до тех пор, пока условие истинно. - Основное отличие применения цикла
whileотfor- неизвестно точное количество итераций. - В Python нет операторов
++и--, поэтому используется эквивалентная записьi += 1. - В уроке представлен пример игры с угадыванием числа с использованием цикла
whileи библиотекиrandom. - Инструкция
while/elseпозволяет выполнить блок кода после завершения цикла. - В следующем уроке будут рассмотрены операторы
break,continueиpassв Python.
Ранее вы познакомились с циклом for, так же вы уже знаете основные структуры данных в Python. Познакомимся со вторым циклом – while.
Цикл while предназначен для выполнения блока кода до тех пор, пока какое-то условие истинно. Синтаксис цикла while в Python представлен ниже:
while условие:
инструкция 1
инструкция 2
...
Чаще всего цикл while используется, когда неизвестно точное количество итераций цикла (итерация – это один шаг цикла, т.е. одно выполнение всего блока кода этого цикла). Это основное отличие цикла while от for.
После того, как условие в цикле while становится ложным, работа цикла прекращается и управление передается следующей инструкции (в примере, инструкции 3):
while условие:
инструкция 1
инструкция 2
инструкция 3
Рассмотрим пример:
i = 1
while i <= 10:
print(i)
i += 1
В этом примере мы выводим в консоль цифры от 1 до 10 при помощи цикла while. Сначала нам необходимо инициализировать переменную i, чтобы с каждой итерацией цикла мы могли увеличивать ее на единицу. Согласен, это пример не показывает различие цикла while и for.
Обратите внимание, в Python нет операторов ++ и --, которые имеются во многих языках программирования. Поэтому мы используем эквивалентную запись i += 1.
Рассмотрим следующий:
count = 1
i = int(input())
while (i != 10):
i = int(input())
count += 1
print(count)
Получилась небольшая игра, где пользователь вводит число до тех пор, пока не угадает. Если вспомним урок про генерацию случайных чисел, то можно улучшить нашу игру.
import random
count = 1
rand_number = random.randint(1, 10)
i = int(input())
while (i != rand_number):
i = int(input())
count += 1
print(count)
Здесь мы подключаем библиотеку random, после чего инициализируем переменную count для подсчета попыток угадать число. Генерируем случайное число при помощи метода randint() и сохраняем в переменной rand_number. Далее предлагаем пользователю ввести число. После это число сравнивается с условием в цикле while и, в зависимости от результата, выполняются инструкции в цикле while n-ое количество раз, пока условие не будет ложным.
Инструкция while/else
После цикла while можно указать ключевое слово else:
while условие:
инструкция
else:
инструкция
Блок else будет выполнен один раз после завершения цикла. Казалось бы, зачем это нужно, если инструкции и так будут выполняться после завершения цикла. Смысл появится, когда мы познакомимся с инструкцией break в следующем уроке. Мы еще вернемся к инструкции while/else.
В этом уроке мы познакомились с циклом while, который позволяет выполнять блок кода до тех пор, пока условие истинно. В следующем уроке разберемся с операторами break, continue и pass в Python.
Переходите к следующему уроку курса, а так же не забудьте посмотреть новый материал на Codebra по тегу Python.
