简单代码if,els的Python缩进问题

2024-04-20 05:53:28 发布

您现在位置:Python中文网/ 问答频道 /正文

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

有人能给我解释一下压痕是怎么工作的吗?我使用的是python2.7

代码:

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

screenshot of console session


Tags: 代码if错误withelseconditionalevenodd
2条回答

假设python有一个反向的层次结构,比如一个倒置的traingle。在

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

  2. 在你的代码中“if”和“else”是第一级。所以不要在这些前面留出任何空间。

  3. “if”和“else”中的打印语句应具有相同的制表符空间或空白,因为它们位于第二级之下。

  4. 外部打印语句将没有空格,因为它再次到达第一级。

希望这有帮助

在Python控制台中,使用正数目的空格或制表符可以正常工作; 所以这些例子中的任何一个都会起作用:

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;调用

^{pr2}$

你会得到一个输出,告诉你哪些行是问题所在。在

输出示例:

'test.py': Indentation Error: unindent does not match any outer indentation level (<tokenize>, line 12)

相关问题 更多 >