3

试图让人口增长模型发挥作用的新手 python 3 程序员。我遇到的问题如下所示。

在解释模式下,以下代码在打印的行上产生“无效语法”错误:

n = 1
for i in range(10):
    n += 1
print(n)

奇怪的是,将它包装在一个函数中会产生预期的输出 (11):

def function():
    n = 1
    for i in range(10):
        n += 1
    print(n)

function()

这是怎么回事?

4

1 回答 1

6

您需要在 for 循环之后添加一个额外的空行,以让它知道语句已完成(这仅对最外层是必需的,并且仅在解释器中是必需的)。当解释器显示...而不是 时>>>,这意味着它正在等待该语句的更多输入(在这种情况下,是整个 for 循环),并且因为它仅在完全读入后才执行语句,因此您需要明确告诉它当声明完成时。

于 2012-11-17T18:49:27.160 回答