在Python 3中,当从文件导入时,这是有效的:
myInt = 0
while (myInt < 10):
print (myInt, end='')
myInt += 1
print (' are Numerals.')
产生预期的结果:"0123456789是数字。“
但是,如果将代码直接粘贴到解释器中,最后一行将产生异常。实际上,while块退出之后的任何内容都会:
File "<stdin>", line 4
print (' are Numerals.')
^
SyntaxError: invalid syntax
以下是对François的答复,以聚焦问题的形式。
它在使用尾随","
结构的Python2中也不起作用……
在while块之后添加一个空行是行不通的,因为它显然不会产生所需的结果,即"0123456789是数字“。然而,在Jean-François的带领下,这产生了类似的结果:
myInt = 0
res=""
while (myInt < 10):
res += str (myInt)
myInt += 1
res += ' are my Numerals.'
print (res)
但是,有没有办法在解释器中强制结束while块,从而允许打印(或字符串编译等)继续进行?好吧,我可以产生结果,当我使用else并输入以下内容时,一次一行:
>>> myInt = 0
>>> while (myInt < 10):
... print (myInt, end='')
... myInt += 1
... else:
... print (' are Numerals.')
...
0123456789 are Numerals.
但是,当我将整个代码复制/粘贴到解释器中时,就会引发异常。那么,复制粘贴到解释器和一次键入一行有什么区别呢?我现在更好奇了!
https://stackoverflow.com/questions/51370265
复制相似问题