IndentationError: ошибка отступа
В Python отступы — часть синтаксиса: ими обозначают, что относится к if, циклу или функции. Отсюда и ошибка.
Почему отступы важны
В большинстве языков блоки кода обрамляют скобками, а в Python — отступами. Сдвиг вправо на 4 пробела говорит: «эти строки внутри if (или цикла, функции)». Поэтому неверный отступ — это настоящая ошибка, а не мелочь оформления.
Частые причины
После строки с двоеточием Python ждёт отступ, а его нет (или наоборот — отступ там, где не нужно). Ещё частая беда — смешаны пробелы и табуляция: на вид одинаково, а для Python по-разному.
if x > 0:
print(x) # IndentationError: нет отступа
if x > 0:
print(x) # правильно: 4 пробела
Как исправить
Проверьте, что все строки внутри if/цикла/функции сдвинуты ровно на 4 пробела и одинаково. Настройте редактор так, чтобы клавиша Tab вставляла пробелы, — это разом убирает путаницу пробелов и табов.
Как привыкнуть к отступам
Сначала отступы кажутся придиркой, но быстро становятся привычкой и делают код читаемым. Игровые тренажёры вроде «Дрон Кодера» приучают к ним мягко: там сразу видно, что команда внутри цикла, а что — снаружи.
Частые вопросы
Сколько пробелов ставить? Стандарт — 4 пробела на один уровень вложенности.
Можно ли табами? Лучше только пробелы и не смешивать их с табами — это частая причина ошибки.
Начать игру бесплатно