我正在完成本教程:
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
>>>
答案 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)