简单代码的Python缩进问题,否则

时间:2019-06-20 09:05:56

标签: python indentation

当我输入else:后按Enter键移动到下一行时,它会给出错误缩进,无论我如何对齐,我都尝试了4个空格,但一切仍然不起作用。我确保else与书中的if完全对齐,但仍然存在错误。

有人可以向我解释缩进的工作原理吗?我正在使用Python 2.7

代码:

if x%2 == 0:
    print "Even"
else: 
    print "Odd"
print "done with conditional"

screenshot of console session

2 个答案:

答案 0 :(得分:1)

假设python具有反向的层次结构,例如反向训练器。

  1. 当您要在第一级中编写函数/循环/条件时,我们会在第二级中的这三个部分中编写要编写的代码。

  2. 在您的代码中,“ if”和“ else”位于第一级。所以不要在这些前面加空格。

  3. 外部打印语句将不再有空格,因为它又回到了第一级。

希望这会有所帮助

答案 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)