Python 3.3 Interactive Shell IDLE 中的缩进问题

问题描述 投票:0回答:1

我在 Windows 7 Professional 64 位计算机上的 Python 版本 3.3 64 位的 Python Interactive Shell IDLE 中遇到了缩进问题。这是我试图编写的简单条件流程序背后的想法:

if spam == 1:
    print('Hello')
elif spam == 2:
    print('Howdy')
else:
    print('Greetings!")

交互式 shell 不会让“elif”返回到与 if 语句相同的块(不确定我是否正确描述),所以它最终看起来像这样:

if spam == 1:
    print('Hello')
elif spam == 2:
    
SyntaxError: invalid syntax
if spam == 1:
    print('Hello')
    elif spam == 2:
    
SyntaxError: unindent does not match any outer indentation level
>>> 
python conditional-statements python-idle
1个回答
1
投票

交互式 shell 的提示符

>>>
确实在视觉上占用了空间,但它不被视为代码。与包含提示的行具有相同缩进级别的代码应从提示开始的地方开始,而不是从代码开始的地方开始。

>>> if 1==1:
    pass
else:
    pass

>>> 

如果从系统终端(例如 cmd、PowerShell 等)启动解释器,则块中的后续行会出现不同的提示符

...
,从而提供更清晰的代码表示:

>>> if 1==1:
...     pass
... else:
...     pass
...
>>>
© www.soinside.com 2019 - 2024. All rights reserved.