Python 3.3交互式Shell IDLE中的BEGINNER缩进问题

时间:2017-03-13 23:35:43

标签: python conditional python-idle

我在Windows 7 Professional 64位计算机上的Python版本3.3 64位的Python交互式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
>>> 

请帮助。

1 个答案:

答案 0 :(得分:1)

交互式shell的提示>>>确实会在视觉上占用空间,但不会将其视为代码。与包含提示的行相同的缩进级别的代码应该从提示开始的地方开始,而不是从代码开始的地方开始。

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

>>> 

如果从系统的终端启动解释器(例如cmd,PowerShell等),则块中的后续行会有不同的提示...,从而更清晰地表示代码: / p>

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