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

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

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

Ситуация: программисту нужно вывести все числа по очереди от 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
Прокачиваем собственный текстовый редактор
Прокачиваем собственный текстовый редактор
medium
Прокачиваем телеграм-бота: пишем полноценный бэкенд
Прокачиваем телеграм-бота: пишем полноценный бэкенд

Часть 2: продолжаем работать с бэкендом для пользы дела

medium
Uncaught SyntaxError: missing ) after argument list — что это значит
Uncaught SyntaxError: missing ) after argument list — что это значит

Потрясающе хитрая ошибка.

hard
Ещё больше полезных CSS-команд
Ещё больше полезных CSS-команд

Короткие и мощные.

hard
Как запустить стартап и не разориться
Как запустить стартап и не разориться

Всё дело в правильных расчётах на старте.

easy
Прокачиваем генератор лабиринтов: оптимизируем код и добавляем выходы
Прокачиваем генератор лабиринтов: оптимизируем код и добавляем выходы

Для тех, кто соскучился по серьёзному программированию

hard
easy