Python говорит мне, что отступ, где я положил один - PullRequest
2 голосов
/ 17 октября 2011

Хорошо, вот фрагмент сценария:

def start():  
    print "While exploring the ruins of a recently abandoned castle you stumble apon the entrance to what appears to be a dungeon. You are carrying on you a...

Я продолжаю получать сообщение об ошибке

user@ubuntu:~/Documents/python$ python dungeon.py  
  File "dungeon.py", line 533  
    def start():  
    ^  
IndentationError: expected an indented block

Я знаю, что это, вероятно, очевидно, но кто-нибудь знает, чтоЯ делаю неправильно слышать?Я попытался заменить отступ только пробелами и табуляцией, но это все равно дает мне эту ошибку.Я ценю любые ответы.

Ответы [ 5 ]

5 голосов
/ 17 октября 2011
  • Убедитесь, что вы не смешиваете табуляции и пробелы для отступа
  • В вашей строке отсутствует закрывающая кавычка

Далее, def start() на самом деле имеет отступ в вашем файле? Это не отступ в этом вопросе, и это то, на что Python, похоже, жалуется.

1 голос
/ 17 октября 2011

Попробуйте посмотреть код перед этой строкой. Есть ли незавершенный блок (строка заканчивается на :)? Если да, поместите что-нибудь в этот блок - подойдет оператор pass.

1 голос
/ 17 октября 2011

Похоже, он ожидает, что def start(): будет с отступом.Как выглядит код до этого?

1 голос
/ 17 октября 2011

Вы уверены, что в этой позиции есть символ tab?Попробуйте открыть его с помощью vi и добавьте себе tab, просто чтобы убедиться, что все в порядке.

1 голос
/ 17 октября 2011

Убедитесь, что пробелы согласованы (т. Е. Смешивает табуляции и пробелы?).

Если ваш редактор поддерживает, я предлагаю сделать так, чтобы все табуляции были расширены до (4) пробелов.Это позволяет избежать путаницы, в том числе при копировании кода.

In vim:

:se tabstop=4 shiftwidth=4 expandtab
:%retab
...