为什么打印for循环(整数)输出会产生语法错误,除非包含在函数中?

时间:2012-11-17 18:39:09

标签: python python-3.x

新手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()

发生了什么事?

1 个答案:

答案 0 :(得分:5)

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