Python報錯:IndentationError: expected an indented block


sum = 0
for x in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]:
sum = sum + x
print(sum)

代碼如上,但是運行報錯:

 

發現是因為少了縮進,改正為如下:

sum = 0
for x in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]:
    sum = sum + x
print(sum)

就沒得問題了。

運行為:

 但是若在改正代碼格式:

sum = 0
for x in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]:
    sum = sum + x
    print(sum)

輸出為:

在這里就能看出來:Python 最具特色的就是用縮進來寫模塊!

縮進的空白數量是可變的,但是所有代碼塊語句必須包含相同的縮進空白數量,這個必須嚴格執行。

IndentationError: unindent does not match any outer indentation level錯誤表明,你使用的縮進方式不一致,有的是 tab 鍵縮進,有的是空格縮進,改為一致即可。

如果是 IndentationError: unexpected indent 錯誤, 則 python 編譯器是在告訴你"Hi,老兄,你的文件里格式不對了,可能是tab和空格沒對齊的問題",所有 python 對格式要求非常嚴格。

因此,在 Python 的代碼塊中必須使用相同數目的行首縮進空格數。

建議你在每個縮進層次使用 單個制表符 或 兩個空格 或 四個空格 , 切記不能混用

縮進相同的一組語句構成一個代碼塊,我們稱之代碼組。

像if、while、def和class這樣的復合語句,首行以關鍵字開始,以冒號( : )結束,該行之后的一行或多行代碼構成代碼組。

我們將首行及后面的代碼組稱為一個子句(clause)。

所以上兩個以不同的縮進運行出來的結果不一樣。因為縮進不同代碼塊不同。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM