当我喜欢编程时,我使用IronPython控制台,但它做了一些古怪的东西.例如:
If a=("X")
Run Code Online (Sandbox Code Playgroud)
它说"意外的令牌'=.' 或这个:
If a is ("X"):
print ("Y")
else:
print ("Z")
Run Code Online (Sandbox Code Playgroud)
但它应该在那之后结束,它仍然在"......".为什么?
第一个问题:
if a=("X"):
Run Code Online (Sandbox Code Playgroud)
是无效的Python代码.你可能意味着:
if a == ("X"):
Run Code Online (Sandbox Code Playgroud)
对于第二个,REPL(read-eval-print循环 - shell)不知道你什么时候结束一个块,直到它看到一个空行.例如:
>>> if a == "X":
... print "Y"
... else:
... print "Z"
...
Run Code Online (Sandbox Code Playgroud)
您可能仍希望在下一行输入另一个语句.如果您将其留空,则REPL知道您已完成该块并想要启动一个新块.这是Python重要空白的副作用.