Цикл `while` — это еще один мощный инструмент для организации повторений в Python, работающий по принципу "делай, пока условие истинно". В отличие от `for`, который обычно перебирает элементы готовой последовательности, `while` продолжает свою работу до тех пор, пока заданное ему логическое выражение остается верным. Это делает его идеальным для ситуаций, когда количество повторений заранее неизвестно, например, при ожидании ввода от пользователя или достижении определенного значения в вычислениях. В этом тренажере мы разберем синтаксис `while`, научимся избегать бесконечных циклов, а также поработаем с управляющими конструкциями `break`, `continue` и блоком `else`. Задания помогут вам освоить этот цикл от простейшего счетчика до создания интерактивных программ.
- Модуль 1: Основы синтаксиса Python
- Модуль 2: Переменные и типы данных
- Модуль 3: Операторы
- Арифметические операторы (+, -, *, /).
- Целочисленное деление и остаток (// и %).
- Возведение в степень (**).
- Операторы сравнения.
- Логические операторы (and, or, not).
- Операторы присваивания (=, +=, -=).
- Операторы принадлежности (in, not in).
- Операторы идентичности (is, is not).
- Битовые операторы.
- Тернарный оператор.
- Модуль 4: Ввод и вывод данных
- Модуль 5: Условные конструкции
- Модуль 6: Циклы
- Модуль 7: Строки
- Модуль 8: Списки
- Модуль 9: Кортежи
- Модуль 10: Словари
- Модуль 11: Множества
- Модуль 12: Функции
- Модуль 13: Встроенные функции
- Модуль 14: Работа с файлами
- Модуль 15: Обработка исключений
- Модуль 16: Модули и пакеты
- Модуль 17: ООП - Основы
- Модуль 18: ООП - Продвинутый уровень
- Модуль 19: Декораторы
- Модуль 20: Генераторы и итераторы
- Модуль 21: Регулярные выражения
- Модуль 22: Дата и время
- Модуль 23: Математические операции
- Модуль 24: Работа с сетью
- Модуль 25: Асинхронное программирование
- Модуль 26: Многопоточность
- Модуль 27: Тестирование
- Модуль 28: Базы данных
- Модуль 29: Алгоритмы и структуры данных
- Модуль 30: Продвинутые возможности
Базовый синтаксис while
Дополните код, чтобы создать простой цикл `while`, который выводит числа от 0 до 2. Вам нужно вставить ключевое слово для начала цикла и оператор для правильного изменения счетчика.
i = 0
input1S i < 3:
print(i)
i input2S 1Что выведет цикл?
Проанализируйте этот простой цикл со счетчиком. Определите, какие числа и в каком порядке будут выведены на экран в результате его работы.
count = 1
while count <= 3:
print(count)
count += 1Найдите причину бесконечного цикла
Этот код должен был вывести числа от 0 до 2, но он содержит ошибку, которая приводит к бесконечному циклу. Найдите строку с ошибкой и исправьте её, чтобы цикл работал корректно.
i = 0while i < 3: print(f"Текущее значение: {i}")i += 1Обратный отсчет
Этот цикл `while` выполняет обратный отсчет. Проанализируйте его и введите последнее число, которое будет выведено на экран перед тем, как цикл завершится.
timer = 3
while timer > 0:
print(timer)
timer -= 1Восстановите порядок: поиск степени двойки
Расставьте строки кода в правильной последовательности. Программа должна начинаться с `n = 2` и удваивать это число до тех пор, пока оно не станет больше 50. В конце должен быть выведен финальный результат.
Бесконечный цикл с выходом
Используя токены из банка, создайте "бесконечный" цикл, который прерывается, когда счетчик достигает определенного значения. Это очень распространенный паттерн в программировании.
i = 0
input1S:
print(f"Итерация {i}")
if i >= 3:
input2S
i += 1Цикл с блоком else
В Python у цикла `while` может быть блок `else`, который выполняется, если цикл завершился естественным образом (без `break`). Проанализируйте код и выберите, что он выведет.
i = 0
while i < 4:
i += 1
else:
print(i)Соберите игру "Угадай число"
Соберите из фрагментов простую игру. Программа должна загадать число (7) и просить пользователя вводить догадки до тех пор, пока он не угадает правильное число. Одна из строк лишняя и не относится к `while`.
print("Поздравляю, вы угадали!") guess = int(input("Введите вашу догадку: "))secret_number = 7while guess != secret_number:guess = 0if guess == secret_number: