Слайд 1
🔁 Цикл while
Урок посвящён циклу while. Мы научимся создавать программы, которые выполняют действия,
пока условие остаётся истинным.
📘 Виды циклов
- Счётные циклы (
for) — выполняются определённое количество раз. - Условные циклы (
while) — выполняются, пока выполняется заданное условие.
Цикл while удобен, когда заранее неизвестно, сколько раз нужно повторить действия.
🔹 Общая структура
while условие:
блок кода
Двоеточие : в конце строки сообщает Python, что далее идёт тело цикла — блок команд с отступами.
🔹 Пример: вывод слова 10 раз
i = 0
while i < 10:
print('Привет')
i += 1
Здесь переменная i увеличивается на 1 при каждой итерации. Цикл завершится, когда i станет равным 10.
🔹 Считывание данных до определённого значения
Рассмотрим пример, где программа считывает числа, пока не введено -1:
num = int(input())
while num != -1:
print('Квадрат вашего числа равен:', num * num)
num = int(input())
Важно:
- ✅ Переменная
numдолжна быть инициализирована перед циклом. - ✅ Её значение должно меняться внутри цикла, иначе цикл станет бесконечным.
🔹 Сравнение for и while
Обе программы выводят числа от 0 до 100:
# используем for
for i in range(101):
print(i)
# используем while
i = 0
while i < 101:
print(i)
i += 1
В цикле while мы вручную создаём и изменяем переменную i,
тогда как в for это делает Python автоматически.
🔹 Пример: числа, кратные 3
# используем for
for i in range(0, 100, 3):
print(i)
# используем while
i = 0
while i < 100:
print(i)
i += 3
🔸 Когда количество итераций заранее неизвестно, нужно использовать только while.
🔹 Считывание до стоп-значения
Часто цикл while используется для считывания данных, пока пользователь не введёт стоп-значение.
text = input()
total = 0
while text != 'stop':
total += int(text)
text = input()
print('Сумма чисел равна', total)
Программа будет работать, пока пользователь не введёт слово stop.
🔹 Бесконечный цикл
Если условие цикла никогда не становится ложным, цикл будет выполняться бесконечно.
i = 0
total = 0
while i < 10:
total += i # i не изменяется!
Так как значение i не меняется, условие i < 10 остаётся истинным бесконечно долго.
💡 Бесконечные циклы можно использовать осознанно, например, с оператором break, чтобы прервать цикл при определённом условии (об этом позже).
📘 Примечания
- ✅ Цикл
whileвыполняет код пока условие истинно (отсюда и название: “while” — «пока»). - ✅ Это цикл с предусловием: сначала проверяется условие, затем выполняется тело цикла.
- ✅ Однократное выполнение тела цикла — итерация.
- ✅ Цикл может не выполниться ни разу, если условие изначально ложно:
i = -1
while i > 0:
print('Hello world!') # ничего не выведет
- ✅ Условие может содержать логические операторы
and,or,not. - ⚠️ Если программа выполняется слишком долго, возможно, в коде возник бесконечный цикл (ошибка
Time limit exceeded).