"Expected an indented block" error?

249,634

Solution 1

You have to indent the docstring after the function definition there (line 3, 4):

def print_lol(the_list):
"""this doesn't works"""
    print 'Ain't happening'

Indented:

def print_lol(the_list):
    """this works!"""
    print 'Aaaand it's happening'

Or you can use # to comment instead:

def print_lol(the_list):
#this works, too!
    print 'Hohoho'

Also, you can see PEP 257 about docstrings.

Hope this helps!

Solution 2

I also experienced that for example:

This code doesnt work and get the intended block error.

class Foo(models.Model):
title = models.CharField(max_length=200)
body = models.TextField()
pub_date = models.DateTimeField('date published')
likes = models.IntegerField()

def __unicode__(self):
return self.title

However, when i press tab before typing return self.title statement, the code works.

class Foo(models.Model):
title = models.CharField(max_length=200)
body = models.TextField()
pub_date = models.DateTimeField('date published')
likes = models.IntegerField()

def __unicode__(self):
    return self.title

Hope, this will help others.

Share:
249,634
kartikeykant18
Author by

kartikeykant18

Updated on July 09, 2022

Comments

  • kartikeykant18
    kartikeykant18 almost 2 years

    I can't understand why python gives an "Expected indentation block" error?

    """ This module prints all the items within a list"""
    def print_lol(the_list):
    """ The following for loop iterates over every item in the list and checks whether
    the list item is another list or not. in case the list item is another list it recalls the function else it prints the ist item"""
    
        for each_item in the_list:
            if isinstance(each_item, list):
                print_lol(each_item)
            else:
                print(each_item)