Python 上的缩进问题

Problems with indentation on Python

我的条件语句有问题。我可以声明 if,但在我将声明 else 的下一行按下 Enter 后,没有正确的缩进。 条件 else 与命令 print 处于同一级别。我使用退格键解决了这个问题,所以 else 保持在同一水平,但在我按下 Enter 后我收到消息:"SyntaxError: unindent does not match any outer indentation level"。在我的编辑器中打印结果 here.

escada = 'sim'

if escada == 'sim':

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

else:

    print('Pegue uma cadeira')

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

您错过了 ifelse 中的正确缩进。

要表示缩进,您可以:

  1. 使用四个空格(' '),PEP8推荐,见:https://www.python.org/dev/peps/pep-0008/
  2. 或制表符 (' ')。

当从命令行 运行 Python 时,如您的屏幕截图所示,您应该看到 ... 表明 Python 需要缩进。你应该看到这样的东西:

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

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

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

或下载并安装 Spyder 或另一个 IDE。