当我输入else:
后按Enter键移动到下一行时,它会给出错误缩进,无论我如何对齐,我都尝试了4个空格,但一切仍然不起作用。我确保else
与书中的if
完全对齐,但仍然存在错误。
有人可以向我解释缩进的工作原理吗?我正在使用Python 2.7
代码:
if x%2 == 0:
print "Even"
else:
print "Odd"
print "done with conditional"
答案 0 :(得分:1)
假设python具有反向的层次结构,例如反向训练器。
当您要在第一级中编写函数/循环/条件时,我们会在第二级中的这三个部分中编写要编写的代码。
在您的代码中,“ if”和“ else”位于第一级。所以不要在这些前面加空格。
外部打印语句将不再有空格,因为它又回到了第一级。
希望这会有所帮助
答案 1 :(得分:-1)
在Python控制台中,使用正数的空格或Tab键,一切正常。 所以这些示例中的任何一个都可以工作:
if True:
print('Hello')
else:
print('Not hello')
if True:
print('Hello')
else:
print('Not hello')
if True:
print('Hello')
else:
print('Not hello')
编辑 要搜索问题出在哪里,请尝试this answer;致电
python -m tabnanny <your_script>.py
,您将得到一个输出,告诉您问题出在哪几行。
示例输出:
'test.py': Indentation Error: unindent does not match any outer indentation level (<tokenize>, line 12)