2011-09-29 82 views
-3

參考Listing 9. Iteration and a dictionarypython:爲什麼「IndentationError:預期一個縮進塊」爲這段代碼?

>>> d = {0: 'zero', 3: 'a tuple', 'two': [0, 1, 2], 'one': 1} 
>>> for k in d.iterkeys(): 
... print(d[k]) 
    File "<stdin>", line 2 
    print(d[k]) 
     ^
IndentationError: expected an indented block 

爲什麼?

+0

呀,不信任該網頁上的代碼,如cwallenpoole指出這是充滿了錯誤。 – agf

+0

只是感到困惑的方式,有人投票否決了我的問題。有什麼意義?如果你投下來,至少給一個理由。 – q0987

+1

有人猜測爲什麼downvotes(沒有從我)1.你沒有解釋你試圖解決這個問題。這是最大的一個 - _show努力_是對SO提出問題的核心規則。 2.一般而言,描述性文字很少。來自「簡明英漢詞典」這個頭銜與你所犯的錯誤無關。這個錯誤似乎是自描述性的。 5.問題非常基本。 – agf

回答

2

使用Python解釋即使,你要確保你有一些縮進的代碼的新塊。

此:

>>> for k in d.iterkeys(): 
... print(d[k]) 

應該是這樣的:

>>> for k in d.iterkeys(): 
...  print(d[k]) 

順便說一句:這個鏈接在應該是什麼樣的預期輸出,可能還有一些拷貝/的一些誤區粘貼問題?

3

Python 3沒有iterkeys。只需使用:

for k in d: 
    print(d[k]) 

甚至更​​好:

for v in d.values(): 
    print(v) 
+0

有一個錯字。正確的行是:'for v in d.values():' – q0987

+0

@ q0987 ok,fixed, – JBernardo

相關問題