0

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

If a=("X")

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

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

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

4

2 回答 2

9

第一个问题:

if a=("X"):

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

if a == ("X"):

对于第二个,REPL(读取-评估-打印循环-外壳)不知道您何时结束一个块,直到它看到一个空行。例如:

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

您可能仍想在下一行输入另一条语句。如果你把它留空,REPL 就知道你已经完成了那个块并且想要开始一个新的块。这是 Python 的重要空白的副作用。

于 2012-06-11T18:02:20.380 回答
1

它应该是:

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

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

于 2012-06-11T20:26:45.760 回答