Ситуация: программисту нужно вывести все числа по очереди от 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)