Слайд 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).