Python error IndentationError expected an indented block

26.6K    Asked by GordonGuess in SQL Server , Asked on Jul 27, 2021

 I am trying to execute the following python code:

def example(p,q):
a = p.find(" ")
b = q.find(" ")
str_p = p[0:a]
str_q = p[b+1:]
if str_p == str_q:
    result = True
else:
    result = False
return result

And I get the following error:

IndentationError: expected an indented block

Why getting a python error expected an indented block?


Answered by Michael Vaughan

Reason of getting python error expected an indented block:

In python, the expected an indented block error is caused by a mix of tabs and spaces. If you do not have appropriate indents added to the compound statement and the user defined functions, the error IndentationError: expected an indented block will be thrown.

Python requires its code to be indented and spaced properly. So make sure to never mix tabs and spaces. If you're using tabs stick to tabs and if you're using space stick to space.

Also in your code, change this part:

if str_p == str_q:
    result = True
else:
    result = False
return result
To
return str_p == str_q

Your Answer

Answers (2)

The "IndentationError: expected an indented block" in Python occurs when the code structure is incorrect, usually due to missing or incorrect indentation. Python relies on indentation to define code blocks instead of braces {} like in other languages.

Common Causes & Fixes

1. Missing Indentation

  • Python requires an indented block after statements like if, for, while, def, etc.

❌ Incorrect:

if True:
print("Hello") # No indentation

✅ Correct:

if True:
    print("Hello") # Indented correctly

2. Inconsistent Indentation (Tabs vs Spaces)

  • Mixing spaces and tabs can cause errors.
  • Python recommends 4 spaces per indentation.
  • Use an editor like VS Code or PyCharm to automatically convert tabs to spaces.

3. Empty Code Blocks

  • If a block is left empty, Python expects at least one statement.
  • Use pass to avoid errors.

❌ Incorrect:

def my_function():
    # No code inside

✅ Correct:

def my_function():
    pass # Placeholder to avoid errors

4. Incorrect Indentation Level

  • Ensure all statements in a block have the same indentation level.

❌ Incorrect:

for i in range(3):
    print(i)
      print("Indented incorrectly")

✅ Correct:

for i in range(3):
    print(i)
    print("Indented correctly")

Fix: Always use consistent indentation and check for missing blocks!


2 Weeks

The "IndentationError: expected an indented block" is a common error in Python that occurs when the interpreter encounters a line of code that should be indented within a block but finds that the line is not indented properly or not indented at all.


Here's an example of code that might trigger this error:if condition:
print("Condition is true") # This line should be indented within the block

To resolve this error, you need to ensure that all lines within a block are properly indented. In Python, indentation is crucial for defining the structure of the code, such as loops, conditional statements, and function definitions. Here's the corrected version of the code:

if condition:
    print("Condition is true") # Proper indentation

In this corrected version, the print statement is indented with four spaces (or a tab), indicating that it belongs to the block defined by the if statement.








10 Months

Interviews

Parent Categories