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
您错过了 if
和 else
中的正确缩进。
要表示缩进,您可以:
- 使用四个空格(
' '
),PEP8推荐,见:https://www.python.org/dev/peps/pep-0008/
- 或制表符 (
' '
)。
当从命令行 运行 Python 时,如您的屏幕截图所示,您应该看到 ...
表明 Python 需要缩进。你应该看到这样的东西:
>>> escada = 'sim'
>>> if escada == 'sim':
... print('subir')
... else:
... pass
...
subir
>>>
如@jose.galarza 所示,您正在 IDLE 中输入解释器。
我建议仅将其用于测试表达式,并创建一个新文件,保存并 运行 它。至少你会避免看起来不正确的缩进。
或下载并安装 Spyder 或另一个 IDE。
我的条件语句有问题。我可以声明 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
您错过了 if
和 else
中的正确缩进。
要表示缩进,您可以:
- 使用四个空格(
' '
),PEP8推荐,见:https://www.python.org/dev/peps/pep-0008/ - 或制表符 (
' '
)。
当从命令行 运行 Python 时,如您的屏幕截图所示,您应该看到 ...
表明 Python 需要缩进。你应该看到这样的东西:
>>> escada = 'sim'
>>> if escada == 'sim':
... print('subir')
... else:
... pass
...
subir
>>>
如@jose.galarza 所示,您正在 IDLE 中输入解释器。
我建议仅将其用于测试表达式,并创建一个新文件,保存并 运行 它。至少你会避免看起来不正确的缩进。
或下载并安装 Spyder 或另一个 IDE。