← Все вопросы

Почему программа выдаёт ошибку с отступом (IndentationError)?

Задан 6 месяцев назад327 просмотров2 ответа
10

Запускаю код, а Python пишет IndentationError и не работает. Почему появляется ошибка отступа в Python и как её исправить новичку? Что я делаю не так?

2 ответа

14
✓ Принятый ответ — помог автору

IndentationError — это жалоба Python на неправильный отступ (сдвиг строки вправо). Очень частая ошибка у новичков, не переживай! 🛠️

Главные причины:

1. Забыл отступ после двоеточия. После if, for, while, def следующая строка обязана быть сдвинута:

if 5 > 3:
print("ошибка")     # нет отступа — IndentationError

if 5 > 3:
    print("правильно")   # есть отступ ✅

2. Лишний отступ там, где не надо:

print("привет")
    print("лишний сдвиг")   # ошибка, эта строка зря сдвинута

3. Смешал пробелы и Tab. Глазом не видно, но Python путается. Выбери что-то одно — лучше 4 пробела или всегда Tab.

Как чинить:

  1. Найди строку из сообщения об ошибке.
  2. Проверь: после двоеточия — должен быть отступ.
  3. Убедись, что строки на одном уровне сдвинуты одинаково.

В хорошем редакторе (и на codechick в учебнике) отступ часто ставится сам. Отступ в Python — это не красота, а часть смысла, поэтому он строгий! 📏

5

Быстрая проверка, когда видишь IndentationError:

  1. Есть строка с : в конце? → следующая строка должна быть с отступом.
  2. Все строки одного блока сдвинуты на одинаковое число пробелов?
  3. Не смешаны ли Tab и пробелы?

Совет: настрой редактор показывать пробелы и Tab — тогда сразу увидишь, где сдвиг кривой. 👍

Ваш ответ

Войдите, чтобы ответить на вопрос.