IndentationError: unindent не соответствует ни одному внешнему уровню отступа

Документация говорит использовать os.path.join():

. Результатом может быть либо абсолютное, либо относительное имя пути; если он относительный, он может быть преобразован в абсолютный путь с помощью os.path.join(os.path.dirname(path), result).

488
задан cbrulak 14 January 2019 в 19:13
поделиться

7 ответов

Другие плакаты, вероятно, корректны... могли бы быть пробелы, смешанные в с Вашими вкладками. Попытайтесь делать поиск & замените к замене все вкладки с несколькими пробелами.

Попытка это:

import sys

def Factorial(n): # return factorial
    result = 1
    for i in range (1,n):
        result = result * i
    print "factorial is ",result
    return result

print Factorial(10)
570
ответ дан isherwood 15 January 2019 в 05:13
поделиться

Строка: result = result * i должен быть расположен с отступом (это - тело для цикла).

Или - Вы смешали пробелы и символы табуляции

8
ответ дан Abgan 15 January 2019 в 05:13
поделиться

Каждый раз, когда я встретился с этой ошибкой, это - потому что я так или иначе перепутал вкладки и пробелы в моем редакторе.

17
ответ дан Dana 15 January 2019 в 05:13
поделиться

Вы уверены, что не смешиваете вкладки и пробелы в Вашем пробеле добавления отступа? (Который вызовет ту ошибку.)

Примечание, рекомендуется не использовать вкладки в коде Python. Посмотрите руководство по стилю . Необходимо настроить Блокнот ++ для вставления пробелов для вкладок.

36
ответ дан Peter Mortensen 15 January 2019 в 05:13
поделиться

Для легкой проверки на проблемы с вкладками/пробелами, можно на самом деле сделать это:

python -m tabnanny yourfile.py

или можно просто настроить редактора правильно, конечно, :-)

127
ответ дан André 15 January 2019 в 05:13
поделиться

Для SPYDER пользователи: я использую spyder 3.3.2 с Python 3.7.1, и я решил это, установив добавление отступа, чтобы использовать вкладки, со следующими шагами, нажать:

  • Инструменты.
  • Предпочтения.
  • Редактор.
  • Расширенные настройки.
  • символы Indentation-> Вкладки.

Тогда я сбросил "unidented" строку с помощью клавиши Tab.

По некоторым причинам, без этой установки, я добирался фантом IndentationError иногда.

0
ответ дан Mike 29 August 2019 в 18:07
поделиться

В intellij с плагином Python Ctrl + Сдвиг + Высокий звук для переформатирования документа решил проблему отступа/вкладки/пробелов

0
ответ дан 22 November 2019 в 22:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: