首页 > 解决方案 > IDLE Shell中多行代码的Python异常错误

问题描述

我在 IDLE for Python 上测试了一些我有一段时间没用过的代码,偶然发现了一个不寻常的错误。

我试图运行这个简单的代码:

for i in range(10):
    print(i)
print('Done')

我记得 shell 是逐行工作的,所以这是我首先做的:

>>> for i in range(10):
        print(i)
    print('Done')

这导致了缩进错误,如下图所示:

来自 IDLE 的缩进错误

我尝试了另一种方式,因为可能下一个语句需要在开头,如下所示:

>>> for i in range(10):
        print(i)
print('Done')

但这给出了一个语法错误,奇怪的是:

第二个错误,来自 IDLE 的语法错误

IDLE 的工作方式对我来说很奇怪。

注意:我实际上正在测试一个更复杂的程序,并且不想创建一个小的 Python 文件来进行简短的测试。毕竟,IDLE 的 shell 不是用于短测试吗?

为什么多行编码会导致此问题?谢谢。

标签: python

解决方案


只需在return之后点击一次或两次print(i),直到您>>>再次收到提示。然后你可以输入print('Done'). 发生的事情是 python 正在等待你告诉它你已经完成了里面的工作for。你可以通过点击来做到这一点return

(不过,您会看到for循环立即执行。)


推荐阅读