2011-10-17 55 views
2

OK,這裏是一片的劇本:Python是告訴我一個凹痕,預計在那裏我把一個

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... 

我不斷收到錯誤

[email protected]:~/Documents/python$ python dungeon.py 
    File "dungeon.py", line 533 
    def start(): 
    ^ 
IndentationError: expected an indented block 

我知道這可能是明顯的,但有沒有人有任何線索,我做錯了什麼?我試圖用空格和製表符替換縮進 ,但它仍然給我這個錯誤。我很欣賞任何答案。

+5

'def start():'?之前有什麼? – sehe

回答

1

看起來像預計def start():被縮進。代碼在這之前是什麼樣的?

+0

就是這樣,縮進之前的行。謝謝你們的幫助。 – BLUC

1

檢查空白是否一致(即混合標籤和空格?)。

如果你的編輯器支持,我建議使它將所有標籤擴展到(4)個空格。這避免了這種混淆,也是在複製粘貼代碼時。

在VIM:

:se tabstop=4 shiftwidth=4 expandtab 
:%retab 
5
  • 確保不要混用製表和空格進行縮進
  • 你的字符串缺少右引號

此外,爲def start()實際上縮進在你的文件?這個問題沒有縮進,這就是Python似乎在抱怨的東西。

1

您確定該位置有一個tab字符?嘗試用vi打開它,並添加自己的tab只是爲了檢查是好的。

1

嘗試查看該行之前的代碼。是否有未完成的塊(以:結尾的行)?如果是的話,把一些東西放在該塊 - pass聲明將做。

相關問題