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

标签 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()

这是怎么回事?

最佳答案

你需要在for循环后面多加一个空行,让它知道语句执行完毕(这只对最外层有必要,而且只在解释器中才有)。当解释器显示 ... 而不是 >>> 时,这意味着它正在等待该语句的更多输入(在本例中为整个 for 循环),并且因为它只在完全读入后才执行一条语句,所以您需要在语句完成时明确告诉它。

关于python - 除非包装在函数中,否则为什么打印 for 循环(整数)输出会产生语法错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13433570/

相关文章:

python - 如何使用 Python 3 将 lzma2 (.xz) 和 zstd (.zst) 文件解压到一个文件夹中?

python - 如何使用 Python3 (pygit2) 知道 git 存储库是否干净?

python - pandas 中日期时间系列的增量属性

python - 如何在 Python 中处理 ConnectionError

python - 从 GradientBoostingClassifier 中提取决策规则

python - 在 Jinja2 模板中隐藏不可访问的链接

python - 从 python 程序执行带符号的 shell 脚本

python - 我得到一个无,每一行

python - 为什么 `tf.data.Dataset.map`只运行一次?

python - 在python中获取坐标列表的平均值