Что означает ошибка IndentationError: expected an indented block

Что означает ошибка IndentationError: expected an indented block

Самая популярная ошибка у начинающих программистов на Python.

Ситуация: программисту нужно вывести все числа по очереди от 1 до 10. Если он параллельно с Python осваивает несколько других языков, то иногда может организовать цикл так:

for i in range(10):
print(i)

Но при выполнении такого кода компьютер выдаст ошибку:

File «temp.py», line 2
print(‘Привет Мир!’)
^
❌ IndentationError: expected an indented block

Почему так происходит: компьютер знает, что в Python после двоеточия в цикле идёт тело цикла, которое отделяется отступами. В нашем коде команда цикла начинается на том же уровне, что и начало цикла, а в Python так не принято. Компилятор ругается, что не хватает отступов, и просит обратить на это внимание.

Что делать с ошибкой IndentationError: expected an indented block

Чтобы исправить ошибку, достаточно поставить отступы перед нужными командами:

for i in range(10):
print(i)

Единственное, нужно не запутаться в отступах и добавить их только там, где нужна вложенность, иначе сломается логика программы.

Практика

Попробуйте найти ошибки  в этих фрагментах кода, а также найдите среди них код без ошибок:

for i in range(10): 
                print(i)
for i in range(10): print(i)
for i in range(10): 
 print(i)
for i in range(10): 
 
 print(i+1)

Текст:

Михаил Полянин

Редактура:

Максим Ильяхов

Корректор:

Ирина Михеева

Вёрстка:

Мария Дронова

Соцсети:

Олег Вешкурцев

Получите ИТ-профессию
В «Яндекс Практикуме» можно стать разработчиком, тестировщиком, аналитиком и менеджером цифровых продуктов. Первая часть обучения всегда бесплатная, чтобы попробовать и найти то, что вам по душе. Дальше — программы трудоустройства.
Начать карьеру в ИТ
Получите ИТ-профессию Получите ИТ-профессию Получите ИТ-профессию Получите ИТ-профессию
Еще по теме
Что означает ошибка UnboundLocalError: local variable referenced before assignment
Что означает ошибка UnboundLocalError: local variable referenced before assignment

Одна из самых частых ошибок у начинающих в Python.

easy
Что означает ошибка SyntaxError: missing formal parameter
Что означает ошибка SyntaxError: missing formal parameter

Ты объявляешь функцию, но ты делаешь это без уважения.

easy
Что означает ошибка: TypeError: ‘undefined’ is not an object
Что означает ошибка: TypeError: ‘undefined’ is not an object

Это значит, что браузер не может найти нужный объект.

easy
Uncaught SyntaxError: Unexpected token
Uncaught SyntaxError: Unexpected token — что это означает?

Самая популярная ошибка у новичков.

medium
Простая работа с исключениями
Простая работа с исключениями

Чтобы программа не падала из-за разных ошибок

easy
Свой тетрис на JavaScript: прокачиваем проект
Свой тетрис на JavaScript: прокачиваем проект

Доработки, чтобы получилась настоящая игра.

medium
Делаем страницу «О себе» на Бутстрапе

Если ты можешь сделать страницу о себе, ты можешь сделать всё.

medium
Как сделать колесо фортуны на сайте
Как сделать колесо фортуны на сайте

Достаточно одного скрипта и немного CSS

medium
Устанавливаем суверенный облачный офис

Пошаговая установка OnlyOffice на ваш собственный или арендованный сервер

hard
10 типичных ошибок в коде на JavaScript
10 типичных ошибок в коде на JavaScript

Для знатоков и начинающих

easy
Я сделяль: главная страница Яндекса
Я сделяль: главная страница Яндекса

Верстаем чистую страницу поисковика.

medium
Проект: собственный поиск по странице на jQuery
Проект: собственный поиск по странице на jQuery

Потому что почему бы и нет.

medium
Что будет, если переменную разделить и сразу умножить на одно и то же число
Что будет, если переменную разделить и сразу умножить на одно и то же число

Будет ошибка, которую чертовски сложно отловить

easy
easy