← Все вопросы
IndentationError: unindent does not match — съехали отступы, как чинить?
5
Питон выдаёт IndentationError: unindent does not match any outer indentation level. Код вроде ровный:
def check(x):
if x > 0:
print("плюс")
print("конец")
Что значит "unindent does not match"?
2 ответа
10
✓ Принятый ответ — помог автору
У тебя строки выровнены непоследовательно: print("конец") отступлен на 6 пробелов, а это не совпадает ни с уровнем функции (4), ни с уровнем if (8). Питон не понимает, к какому блоку относится строка — отсюда ошибка.
Приведи отступы к ровным уровням по 4 пробела:
def check(x):
if x > 0:
print("плюс")
print("конец")
Главное правило: в одном блоке у всех строк должен быть одинаковый отступ, и лучше везде пробелы, а не табы.
4
Чаще всего такое — из-за смеси табов и пробелов, которую глазом не видно. В настройках редактора включи "показывать пробельные символы" и "вставлять пробелы вместо табов", и проблема пропадёт навсегда.
Ваш ответ
Войдите, чтобы ответить на вопрос.