Python - 使用IDLE和if - else块时出现缩进错误,在命令行上运行正常

时间:2012-02-29 11:18:04

标签: python

我收到以下缩进错误

>>> number = 35
>>> if number == 35:
        print 'true'
    else:

  File "<pyshell#130>", line 3
    else:

^
IndentationError: unindent does not match any outer indentation level
>>> 

这仅在IDLE上发生,而不在命令行上发生。我在Windows XP上使用Python 2.6.4。 我在网上搜索过,但找不到任何答案,为什么我收到这个错误。感谢任何帮助。

并添加 - 复制和粘贴时,代码可能看起来不正确。但它在IDLE界面上正确缩进。

6 个答案:

答案 0 :(得分:2)

>>> number = 35
>>> if number == 35:
...     print 'true'
... else:
...     print 'false'
... 
true
>>>

正确并手动缩进代码

答案 1 :(得分:1)

任何代码块(在:之后启动)应该比父代更多地缩进一个空格(或制表符)。在您的示例中:

if number == 35:
    print 'true'
else:
    ...

但不是:

if number == 35:
print 'true'
else:
...

答案 2 :(得分:0)

您应该手动定义缩进

>>> number = 35
>>> if number == 35:
...     print 'true'
... else:
...     pass
... 
true

答案 3 :(得分:0)

对我来说这很有效:

>>> if number == 35:
....print 'true'
else:
....print 'false'

看起来像'&gt;&gt;&gt; '不计入缩进。我使用的是2.7.13

答案 4 :(得分:0)

可能不是您想要的方式,但是它显然简单有效:

代替此:

>>> number = 35
>>> if number == 35:
    print 'true'
else:

您始终可以不使用if 来检查python空闲状态的条件,例如:

>>> number = 35
>>> number == 35
True

答案 5 :(得分:0)

正确,不要缩进 else 语句。我使用的是 3.9 版

if number == 35:
    print("true")
else:
    print("false")