我是一个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提到的两个问题,也许它“不起作用”的原因是因为它仍然期待着另一行。再次按下输入键,它会运行并抛出错误。 –