Python缩进的问题

时间:2017-08-30 01:21:32

标签: python python-3.x indentation python-idle

我的病情有问题。我可以声明if但是在我按下下一行的Enter后,我将声明else,没有正确的缩进。 条件else与命令print处于同一级别。我使用退格键修复此问题,因此else保持在同一级别,但在按Enter后我收到消息:“SyntaxError:unindent与任何外部缩进级别都不匹配”。在我的编辑器中跟踪结果的打印 here

escada = 'sim'

if escada == 'sim':

    print('Subir na escada e trocar a lâmpada')

else:

    print('Pegue uma cadeira')

3 个答案:

答案 0 :(得分:1)

您在ifelse内错过了正确的缩进。

要表示缩进,您可以:

  1. 使用PEP8推荐的四个空格(' '),请参阅:https://www.python.org/dev/peps/pep-0008/
  2. 或标签(' ')。
  3. 从命令行运行Python时,如屏幕截图所示,您应该看到...表示Python期望缩进。你应该看到这样的东西:

    >>> escada = 'sim'
    >>> if escada == 'sim':
    ...     print('subir')
    ... else:
    ...     pass
    ... 
    subir
    >>>
    

答案 1 :(得分:0)

Python IDLE有池视图。

您的案例

>>> escada = "sim"
>>> if escada == 'sim':
    print('subir')
    else:
^^^^ # should be removed
IndentationError: unindent does not match any outer indentation level

<强>固定

>>> escada = "sim"
>>> if escada == 'sim':
    print('subir')
else:
    print('else...')

subir

答案 2 :(得分:0)

如@jose.galarza所示,您正在IDLE中输入解释器。

我建议仅使用它来测试表达式,并创建一个新文件,保存并运行它。至少那你会避免看起来不正确的缩进。 enter image description here

或者下载并安装Spyder或其他IDE。

Spyder