Автор оригинала: Shubham Sayon.
Резюме: Ошибка . JentationError: undentent не совпадает с любым внешним уровнем отступа
Возникает, если вы используете непоследовательную отступ вкладок или пробелы для блоков кода с отступом, таких как Если
блок и для
петля. Например, Python бросит ошибку вдавливания, если вы используете для
петля с четыре персонажа пробелов Отступ для первой строки и Один символ вкладок отступ второй строки корпуса петли. Чтобы устранить ошибку, используйте одинаковое количество пустых пробелов для всех блоков кода с отступом.
IndentationError: undentent не соответствует любому внешнему уровню отступа
Вы, должно быть, надо столкнулись с этой глупой ошибкой в какой-то момент времени, когда кодируют. Разве это не очень расстраивает, чтобы получить ошибку, даже если ваш код логически правильный!
Но после того, как вы прочитаете эту статью, вы, вероятно, никогда не встретите эту ошибку снова. Даже если вы сделаете, вы сможете исправить его во вспышке! Так что без дальнейшей задержки давайте погрузимся в нашу дискуссию на undationeRor в Python.
Отступ в Python
Отступ относится к пробелам в начале строки кода.
На других языках программирования, как Java отступ просто служит цели читабельность , Да, даже если вы не будете следовать надлежащим отступом на таких языках, он не будет препятствовать выполнению вашего кода, поскольку они используют брекеты {} для представления блока кода.
В Python отступа является неотъемлемой функцией, которая представляет собой блок кода и определяет выполнение вашего кода. Когда вы пропустите правильные отступы, Python бросит IndentationError
Отказ
Каждая строка кода в блоке должна иметь равное количество пробелов перед ними. Это означает, что если для
Блок петли содержит две строки кода, затем каждая строка должна иметь четыре пробела (в идеале) перед ними. Если одна строка кода имеет три пробела, а другая имеет четыре, вы снова получите IndentationError
Отказ
Пример 1.
Учитывая список, содержащий марки. На основании данных условий следующая программа направлена на разрыв каждого номера в списке в определенную оценку.
marks = [95,75,65,45,30] for k in marks: if k>=90: print(k,' = grade A') elif k>=75 and k<90: print(k,' = grade B') elif k>=55 and k<75: print(k,' = grade C') elif k>=45 and k<55: print(k," = grade D") else: print(k," - FAIL!")
Выход:
File "D:/PycharmProjects/PythonErrors/rough.py", line 11 else: ^ IndentationError: unindent does not match any outer indentation level
В приведенном выше примере ошибка произошла в еще
Заявление, потому что он не следует правильному отступе.
📖 Как исправить “unthationerror: undentent не соответствует любому внешнему уровню отступа”
➥ Чтобы исправить JentationError: undentent не совпадает с любым внешним уровнем отступа Используйте одинаковое количество пробелов для каждой строки кода в данном блоке.
Давайте попробуем исправим ошибку в нашем примере сценарию, приведенного выше. Вы просто должны предоставить правильное расстояние до того, как остальное утверждение о том, что он соответствует всему IF-ELIF - остальные блоки
в пределах для петли
Отказ
Решение:
marks = [95, 75, 65, 45, 30] for k in marks: if k >= 90: print(k, ' = grade A') elif k >= 75 and k < 90: print(k, ' = grade B') elif k >= 55 and k < 75: print(k, ' = grade C') elif k >= 45 and k < 55: print(k, " = grade D") else: print(k, " - FAIL!")
Выход:
95 = grade A 75 = grade B 65 = grade C 45 = grade D 30 - FAIL!
✍️ Примечание :
- Как правило, вы должны использовать Четыре пробела Для отступа и это предпочтительнее вкладок.
- Вы можете игнорировать отступ в продолжении строки, но всегда рекомендуется отступить к вашему коду для лучшей читаемости.
- Например: если true: Печать (“Добро пожаловать в finxter!”)
Давайте посмотрим на другой пример, чтобы убедиться, что у вас есть четкое представление о причине возникновения такой ошибки.
Пример 2.
Следующая программа используется для поиска факториала номера, введенного пользователем.
def Factorial(n): # return factorial result = 1 for i in range(1, n): result = result * i print("factorial is ", result) return result num = int(input("Enter a number: ")) print(Factorial(num))
Выход:
File "D:/PycharmProjects/PythonErrors/rough.py", line 6 return result ^ IndentationError: unindent does not match any outer indentation level
Объяснение:
Вышеуказанная ошибка произошла из-за линии 6, которая указывает на то, что Отчет о возврате
имеет неправильное отступление. Это произошло потому, что мы смешали вкладки и промежутки в нашем коде для отступа к блоку кода в функции.
Решение:
Чтобы избежать этой ошибки, вы можете использовать вкладку или 4 пробела (рекомендуется) перед каждой строкой внутри функции. Обратите внимание, что блок внутри петли должен иметь 8 белых пробелов.
def Factorial(n): # return factorial result = 1 for i in range(1, n): result = result * i print("factorial is ", result) return result num = int(input("Enter a number: ")) print(Factorial(num))
Выход:
Enter a number: 5 factorial is 24 24
🔰 Избегайте или исправьте entionationeRror в редакторах кода
Из приведенных выше примеров очевидно, что основная причина позади IndentationError В Python это Неправильное использование пробелов и вкладок В вашей программе. В большинстве редакторов кода вы можете исправить количество пробеловных символов/вкладок WhiteSpace by Установка уровней отступа.
Давайте посмотрим на настройки в различных редакторах кода, которые позволяют нам Автофункф Наш код или исправить ранее существующие ошибки:
📝 возвышенный текст
- Нажмите на вид.
- Выберите отступ.
- Выберите отступ к вкладкам.
- Снимите флажок Отступ, используя параметр пробелов в подменю выше.
📝 Блокнот ++
Следуйте приведенным ниже настройкам, чтобы просмотреть вкладки или Пробелы в Notepad ++.
- Нажмите на View.
- Выберите Показать символ
- Убедитесь, что пробел пробел и вкладка и отображаются параметры направляющих отступа.
🔰 Использование IDE
Преимущество использования IDE, как Пычарм Это то, что вам не нужно беспокоиться о углублениях в вашем коде вручную, поскольку это позаботится о самом IDE как шоу в презентации, приведенной ниже.
Вывод
Я надеюсь, что вам понравилось читать эту статью и узнал, как исправить Ошибки вдавливания в Python Отказ Пожалуйста, Подписаться и Оставайтесь настроиться Для более интересных статей в будущем!
📕 Подробнее: Python indentationError: неожиданный отступ (как исправить эту глупую ошибку)
- Вы хотите быстро освоить самые популярные Python IDE?
- Этот курс приведет вас от новичка к эксперту в Пычарме в ~ 90 минут.
- Для любого разработчика программного обеспечения имеет решающее значение для освоения IDE хорошо, писать, тестировать и отлаживать высококачественный код с небольшим усилием.
Присоединяйтесь к Pycharm MasterClass Сейчас и мастер Pycharm на завтра!
Куда пойти отсюда?
Достаточно теории, давайте познакомимся!
Чтобы стать успешным в кодировке, вам нужно выйти туда и решать реальные проблемы для реальных людей. Вот как вы можете легко стать шестифункциональным тренером. И вот как вы польские навыки, которые вам действительно нужны на практике. В конце концов, что такое использование теории обучения, что никто никогда не нуждается?
Практические проекты – это то, как вы обостряете вашу пилу в кодировке!
Вы хотите стать мастером кода, сосредоточившись на практических кодовых проектах, которые фактически зарабатывают вам деньги и решают проблемы для людей?
Затем станьте питоном независимым разработчиком! Это лучший способ приближения к задаче улучшения ваших навыков Python – даже если вы являетесь полным новичком.
Присоединяйтесь к моему бесплатным вебинаре «Как создать свой навык высокого дохода Python» и посмотреть, как я вырос на моем кодированном бизнесе в Интернете и как вы можете, слишком от комфорта вашего собственного дома.
Присоединяйтесь к свободному вебинару сейчас!
Я профессиональный Python Blogger и Content Creator. Я опубликовал многочисленные статьи и создал курсы в течение определенного периода времени. В настоящее время я работаю полный рабочий день, и у меня есть опыт в областях, таких как Python, AWS, DevOps и Networking.
Вы можете связаться со мной @: