Python终端不适用于for循环[关闭]


9

我在Python终端中运行了以下代码:

>>> for news in news_list:
...     print news("li", {"class", "first"})[0].a["href"]
...     
...     

我希望能够在终端中关闭此for循环,但是我不知道该如何做。我试过按Enter两次,但不起作用。


1
您缺少右括号。您能在印刷声明中解释您要做什么吗?
Hashken

1
抱歉,撑杆应该在那儿。我正在遍历具有html数据的数组。它有效,我只是不知道如何在终端中关闭循环。
jason328

1
似乎您正在使用一些嵌套的数据结构。如果不看整个代码,我无法分辨出问题所在。请附上整个代码。
Hashken

4
输入两次对我有用。确保第二个输入项未选中-Karthik
T

1
我看到这是一个控制台。您可以在那之前做得到print newsprint news_list给我们输出结果吗?我们将在那里了解数据结构。
SiddharthaRT

Answers:


14

他正在处理什么数据都没有关系。无论使用哪种方式,还是使用print "spam"某种复杂的表达式,都应在两次输入后关闭for循环,否则将因数据错误或语法错误而引发Python异常。

问题在于您要缩进空行,因此解释器认为您仍将为其提供一些代码。

请参见以下代码段中的区别(选择文本以了解原因):

>>> for x in range(4):
...     print x
... 
0
1
2
3
>>> for x in range(4):
...     print x
...     
...     
...     
... 
0
1
2
3
>>> 

撇开:签出bpython。它是一个命令行python解释器,具有关键字建议,自动缩进,跨会话的历史存储,将代码保存到文件的选项等。前两个功能使其成为杀手级应用。如此多次,我在默认解释器中按tab只是在屏幕上找到一个标签!
S Prasanth

@SPrasanth,你的意思是ipython
warvariuc 2012年

@warwaruk没有,bpython apps.ubuntu.com/cat/applications/bpython将考虑IPython中虽然。
S Prasanth
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.