2016-12-23 47 views
-6

我正在定義變量,當我完成它的工作。但是,我到底部繼續腳本,我測試了它,它給了我一個'預期的縮進塊'錯誤。我不知道爲什麼。具體來說,它在我定義Right之後給了我。
(食人魚和飢餓是先前在代碼中定義)沒有明顯原因的'預計縮進'錯誤

def Left(): 
    piranha.left(90) 
    piranha.forward(100) 
    piranha.right(90) 
    global hunger 
    hunger = hunger - 5 
    if hunger==0: 

def Right(): 
    piranha.right(90) 
    piranha.forward(100) 
    piranha.left(90) 
    global hunger 
    hunger = hunger - 5 
    if hunger==0: 

def Back(): 
    piranha.right(180) 
    piranha.forward(100) 
    piranha.right(180) 
    global hunger 
    hunger = hunger - 5 
    if hunger==0: 

`

+1

'if hunger == 0:'那麼是什麼? – AChampion

+0

您的if語句不完整。一般來說,Python需要在':'後面加一個縮進塊(除了''dicts'中的鍵值映射等少數例外) –

回答

3

您需要if

例如後做一些事情:

if hunger==0: 
    # Do something 
    print("Dead piranha") #Attention with the indentation, after ":" is indented 

你也可以用途:

hunger -= 5 # instead of hunger = hunger - 5 

它是一樣的,但它更清楚。

最後,爲什麼要使用global hunger? 如果你有一個類是piranha,我認爲將類屬性設爲飢餓是一個更好的主意。

piranha.hunger -= 5 
1

我相信這將歸結爲if語句未完成。嘗試爲每個語句添加一個簡單的函數。