2014-02-15 82 views
2

我在此語句的else部分中收到縮進錯誤。我檢查過它是否有空白,並且無法理解錯誤。if/elif/else python中的縮進錯誤

if cur_state == 'NICHTGEN': 
    cur_state = 'GEN' 
elif cur_state == 'GEN' and chance_num > trans_genZuGen: 
    cur_state = 'NICHTGEN' 
else: 
    cur_state = 'GEN' 

確切的錯誤是

​​
+2

您可能正在混合空格和製表符字符 – thefourtheye

+1

刪除所有空格,並用空格替換以查看是否可以解決您的問題。 – BlackVegetable

+0

大部分代碼/ IDE編輯器都應該有一個選項,用空格替換所有的選項卡。確保選項已打開。這種方式你永遠不能混合製表符和空格 – odedsh

回答

0

首先 - 你可能混合空格和製表符。

二 - 這個邏輯可以減少到

if cur_state == 'GEN' and chance_num > trans_genZuGen: 
    cur_state = 'NICHTGEN' 
else: 
    cur_state = 'GEN' 

甚至

cur_state = 'NICHTGEN' if cur_state == 'GEN' and chance_num > trans_genZuGen else 'GEN' 

(雖然第一絕對更具有可讀性。)

0

讓空閒手柄的間距。在每一行上使用「結束」鍵,「刪除」鍵和「返回」鍵。