Подтвердить что ты не робот

Ошибка ожидаемого с отступом?

Я не могу понять, почему python дает ошибку "Ожидаемый отступ"?

""" 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)
4b9b3361

Ответ 1

Вы должны сделать отступ для строки документации после определения функции (строки 3, 4):

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

Отступ:

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

Или вы можете использовать # чтобы комментировать вместо:

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

Также вы можете увидеть PEP 257 о строках документов.

Надеюсь это поможет!

Ответ 2

Я также испытал это, например:

Этот код не работает и получает предполагаемую ошибку блока.

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

Однако, когда я нажимаю вкладку перед вводом команды return self.title, код работает.

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

Надеюсь, это поможет другим.

Ответ 3

Инцидентный блок является распространенной ошибкой, просто убедитесь, что у вас есть правильные отступы строки (проверьте, если коды находятся в определенных строках одна за другой)