“中出现意外语法错误”;Python2.7.1 IDLE“;(与顶棚配合使用效果良好!)

“中出现意外语法错误”;Python2.7.1 IDLE“;(与顶棚配合使用效果良好!),python,python-2.7,canopy,Python,Python 2.7,Canopy,正如您在2张图片中看到的,迭代循环在canopy上运行良好,但在空闲的Python 2.7.10中说:语法错误 为什么?在我看来,IDLE对您输入多个语句的方式感到困惑。您需要在while循环的缩进套件之后输入一个空行,以便它知道语句结束了(并且没有附加else块)。当>提示符再次出现时,您就知道您已经完成了该语句 >>> while ... # stuff here # more stuff # leave a blank li

正如您在2张图片中看到的,迭代循环在canopy上运行良好,但在空闲的Python 2.7.10中说:语法错误


为什么?

在我看来,IDLE对您输入多个语句的方式感到困惑。您需要在while循环的缩进套件之后输入一个空行,以便它知道语句结束了(并且没有附加
else
块)。当
>
提示符再次出现时,您就知道您已经完成了该语句

>>> while ...
        # stuff here
        # more stuff
        # leave a blank line afterwards!

>>> print ('Goodbye!')

如果您将代码放入一个模块并运行该模块,那么它在空闲状态下可以正常工作。只有交互式控制台有问题。

因为使用
()
打印是python 3+语法@WoodChopper添加
()
将在Python 2.x中工作删除
()
这将在2x@WoodChopper即使使用“”或“”它也会给我相同的结果!!我试着打印('再见!'),效果很好,但出现了迭代循环语法错误!!!威德!非常感谢,你能告诉我如何做一个空行吗?我只是一个初学者:)这取决于你如何输入代码。如果是手动输入,只需在循环的最后一行后按Enter键两次即可。如果您是从一个将代码紧密打包在一起的源代码进行复制和粘贴,那么这将更加困难。您需要单独复制语句,手动在语句之间按Enter键。但是,空闲的语句将在没有语句(print)的情况下执行循环。我认为添加else:print(‘再见’)会更好,或者您有其他方法吗?!else语句可以工作,但通常只将一个语句附加到循环中,在该循环中,您可能会或可能不会中断,而不是让条件在某个点变为错误。我认为真正的问题是,为什么你希望循环和打印在最后同时发生?它们是独立的语句,所以应该先运行一个语句,然后再运行下一个语句。