为什么我的IronPython控制台会这样做?

时间:2012-06-11 17:52:40

标签: python ironpython

当我想编程时,我使用IronPython控制台,但它做了一些古怪的东西。例如:

If a=("X")

它说“意外的令牌'=。' 或者这个:

If a is ("X"):
    print ("Y")
else:
    print ("Z")

但它应该在那之后结束,它仍然在“......”。为什么呢?

2 个答案:

答案 0 :(得分:9)

第一个问题:

if a=("X"):

不是有效的Python代码。你可能意味着:

if a == ("X"):

对于第二个,REPL(read-eval-print循环 - shell)不知道你什么时候结束一个块,直到它看到一个空行。例如:

>>> if a == "X":
...     print "Y"
... else:
...     print "Z"
... 

您可能仍希望在下一行输入另一个语句。如果您将其留空,则REPL知道您已完成该块并想要启动一个新块。这是Python重要空白的副作用。

答案 1 :(得分:1)

应该是:

if x==('x'):
    print('x')

这是因为=是一项任务。 ==是一个比较。