Python解释器:新的缩进行而不执行

时间:2014-03-20 14:34:18

标签: python-3.x

我正在完成本教程:

http://docs.python.org/dev/tutorial/introduction.html#first-steps-towards-programming

我正在Ubuntu 13.10终端中使用pyhton3-interpreter:

我尝试输入此程序:

 >>> # Fibonacci series:
 ... # the sum of two elements defines the next
 ... a, b = 0, 1
 >>> while b < 10:
 ...     print(b)
 ...     a, b = b, a+b
 ...

但是程序总是在“print(b)”行之后过早执行并按下ENTER。如何在不执行的情况下进入新行?

错误讯息:

 >>> a=0
 >>> b=1
 >>> while (b < 10):
 ... print(b)
   File "<stdin>", line 2
     print(b)
         ^
 IndentationError: expected an indented block
 >>> 

3 个答案:

答案 0 :(得分:1)

好的,抱歉。我终于找到了我的错误。我认为一开始的三个点......已经代表了缩进。这现在有效:

... [TAB] print(b)

我已经习惯了普通的python文件,我为解释器忘了这个。

答案 1 :(得分:1)

在Python中,您必须尊重缩进,即使在交互式shell中也是如此。因此,在您输入while行后,解释器shell会显示以下内容:

>>> while (b < 10):
... 

你必须插入一些空格来缩进print行,并为同一个块中的所有后续行(循环中的所有行)提供相同数量的空格,就像你在示例中看到的那样你试图重现的节目。

答案 2 :(得分:1)

您错过了print(b)

的缩进
while (b < 10):
    print(b)