我是一個Python初學者,我正在學習有關for
循環。所以,請誰能告訴我,因爲我的程序不運行(甚至在PYTHON SHELL)For循環意外行爲
words = ['cat', 'window', 'defenestrate']
for w in words:
if len(w) > 6:
words.insert(0, w)
我是一個Python初學者,我正在學習有關for
循環。所以,請誰能告訴我,因爲我的程序不運行(甚至在PYTHON SHELL)For循環意外行爲
words = ['cat', 'window', 'defenestrate']
for w in words:
if len(w) > 6:
words.insert(0, w)
您的代碼似乎有兩個問題,通過@mic4ael評論有什麼錯此代碼: 首先是縮進,words.insert
應該是if
塊內,此外,你追加到你循環相同的列表,這將導致無限循環,如果有一個匹配。
的解決方案是正確的縮進,並創建一個新的列表,以保持匹配,即:
words = ['cat', 'window', 'defenestrate']
wordsMatch = []
for w in words:
if len(w) > 6:
wordsMatch.insert(0, w)
print wordsMatch
@ mic4ael非常感謝 – Faruq
不客氣!如果我的答案幫助了你,請考慮接受它作爲正確答案,謝謝! –
因爲要創建一個無限循環。您遍歷該列表,如果您發現一個長度超過6個字符的單詞,則將其添加到列表中。
你得到了什麼錯誤? –
據我可以告訴有兩個主要問題。縮進是不正確的,並且您正在循環並修改列表 – mic4ael
對於@ mic4ael提到的兩個問題,也許它「不起作用」的原因是因爲它仍然期待着另一行。再次按下輸入鍵,它會運行並拋出錯誤。 –