2017-06-19 85 views
0

當我編譯下面的Python代碼,我得到IndentationError:當實際壓痕不取消縮進不匹配任何外部縮進級別縮進錯誤:取消縮進不匹配任何外部縮進級別

Files = os.listdir(".") 
monthNum = 1 
totMonths = 0 
for year in range(2003, 2016): 
    os.chdir('./'+str(year)) 
    for month in range(1, 13): 
     totMonths = totMonths +1 
     if (month < 10): 
      monthStr = str(year)+"0"+str(month) 
     else: 
      monthStr = str(year)+str(month) 
+0

你可以發佈完整的追溯? –

+1

您的代碼在[tag:python-2.x]和[tag:python-3.x] –

+1

上運行得很好'在範圍內的月份有一個選項卡...只需使用四個空格 –

回答

1

這個錯誤造成不符合預期的縮進 - 一個可能的罪魁禍首是製表符v空格和縮進一致性。

例如,下面的代碼會拋出這個錯誤:

if true: 
    return 1 
if false: 
    return 2 

注意的是,雖然true語句由4個空格縮進,在false聲明由五個縮進。

這個例子也將拋出這個錯誤,並根據您的文本編輯器可以是無形的(隱藏字符添加供參考):

if true: 
....return 1 
if false: 
⇥ return 2 

在這種情況下,true語句使用四個空格縮進,而false語句使用選項卡符號進行縮進。

伴隨着你提供的IndendtationError,它應該給你錯誤發生的確切路線。也就是說,你提供的樣本很小,以至於不需要縮進整個事情就可以解決它。

+0

錯誤也是由混合標籤和空格造成的 –

+0

編輯包含該信息 – Ceili

相關問題