Почему программа выдаёт ошибку с отступом (IndentationError)?
Запускаю код, а Python пишет IndentationError и не работает. Почему появляется ошибка отступа в Python и как её исправить новичку? Что я делаю не так?
2 ответа
IndentationError — это жалоба Python на неправильный отступ (сдвиг строки вправо). Очень частая ошибка у новичков, не переживай! 🛠️
Главные причины:
1. Забыл отступ после двоеточия. После if, for, while, def следующая строка обязана быть сдвинута:
if 5 > 3:
print("ошибка") # нет отступа — IndentationError
if 5 > 3:
print("правильно") # есть отступ ✅
2. Лишний отступ там, где не надо:
print("привет")
print("лишний сдвиг") # ошибка, эта строка зря сдвинута
3. Смешал пробелы и Tab. Глазом не видно, но Python путается. Выбери что-то одно — лучше 4 пробела или всегда Tab.
Как чинить:
- Найди строку из сообщения об ошибке.
- Проверь: после двоеточия — должен быть отступ.
- Убедись, что строки на одном уровне сдвинуты одинаково.
В хорошем редакторе (и на codechick в учебнике) отступ часто ставится сам. Отступ в Python — это не красота, а часть смысла, поэтому он строгий! 📏
Быстрая проверка, когда видишь IndentationError:
- Есть строка с
:в конце? → следующая строка должна быть с отступом. - Все строки одного блока сдвинуты на одинаковое число пробелов?
- Не смешаны ли Tab и пробелы?
Совет: настрой редактор показывать пробелы и Tab — тогда сразу увидишь, где сдвиг кривой. 👍