← Все вопросы
Цикл while крутится бесконечно, хотя счётчик вроде растёт
6
Хочу вывести числа от 1 до 5, но программа зависает и печатает 1 без конца:
i = 1
while i <= 5:
print(i)
i + 1
Я же увеличиваю i, почему он не меняется?
2 ответа
12
✓ Принятый ответ — помог автору
Строка i + 1 вычисляет значение 2, но никуда его не сохраняет — результат просто выбрасывается. Поэтому i навсегда остаётся равным 1, условие i <= 5 всегда истинно, и цикл бесконечный.
Нужно записать результат обратно в i:
i = 1
while i <= 5:
print(i)
i = i + 1 # или короче: i += 1
Запомни правило: чтобы переменная изменилась, должно быть присваивание =.
3
На будущее: если случайно запустил бесконечный цикл и консоль зависла — жми Ctrl+C, это прервёт выполнение.
Ваш ответ
Войдите, чтобы ответить на вопрос.