Что означает ошибка 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)

Редактура:

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

Корректор:

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

Вёрстка:

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

Соцсети:

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

Вам может быть интересно
Что означает ошибка SyntaxError: missing formal parameter
Что означает ошибка SyntaxError: missing formal parameter

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

easy
Что означает ошибка UnboundLocalError: local variable referenced before assignment
Что означает ошибка UnboundLocalError: local variable referenced before assignment

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

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

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

easy
Делаем свой аудиоплеер на Python
Делаем свой аудиоплеер на Python

Это не так сложно, как кажется

easy
Делаем свою доску задач с тегами и анимацией
Делаем свою доску задач с тегами и анимацией

Так делает большинство таск-трекеров

medium
Как создать и обучить свою нейросеть с нуля
Как создать и обучить свою нейросеть с нуля

На примере создания анализатора текста

medium
Метод Math.random() в JavaScript
Метод Math.random() в JavaScript

На самом деле не совсем случайных

easy
[1] + [2] – [3] = 9. Да как так-то?
[1] + [2] – [3] = 9. Да как так-то?

Объясняем, как работает JavaScript

medium
Что означает ошибка TypeError: Reduce of empty array with no initial value
Что означает ошибка TypeError: Reduce of empty array with no initial value

Когда хочется что-то сделать с массивом, а он и так пустой

easy
easy