输入图像描述hereOk,我刚刚开始学习python,我无法弄清楚为什么我的IF / Else语句在输入Else后仍然出现此错误:“SyntaxError:unindent与任何外部缩进级别不匹配” 。这是我的代码 如果x> 1000: 打印( '3') 否则:
SyntaxError:SyntaxError:unindent与任何外部缩进级别
都不匹配这是错误(链接如下) Error 这是解决方案:kind-af看起来有趣,但即使If最初在第4列python注册为第0列,所以我不得不把我的其他:放在第0列(即使它看起来不对齐。感谢每个人为了帮助!! Solution
答案 0 :(得分:2)
>>> if x > 1000:
print(3)
else:
正确?关键是,>>>
在计算缩进时不计算。所以实际上,就IDLE而言,如果和其他的不是在同一列中。 :-( [它看到的缩进是0,8,4。]你必须完全开始else:
冲洗到左边缘。
答案 1 :(得分:1)
每个缩进级别应该有四个空格。
if x > 1000:
print('3')
else:
pass # Must match indentation level of `print('3')` above.
Python 3.5.2 |Continuum Analytics, Inc.| (default, Jul 2 2016, 17:52:12)
[GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> x = 50
>>> if x > 100:
... print('3')
... else:
... pass
...
>>> x = 150
>>> if x > 100:
... print('3')
... else:
... pass
...
3
感谢@Vekyn关于IDLE缩进怪癖的指针:
答案 2 :(得分:1)
小心空格和制表符,即使线条看起来有视觉上的缩进,从python的角度来看,它们可能没有缩进
例如,查看图像,第2行包含4个空格,第6行包含一个选项卡。当文本编辑器允许您以某种方式注意到这些差异时,它非常有用。
答案 3 :(得分:0)
你可能正在混淆空格和制表符。只使用其中一个。如果您使用空格,请确保使用相同数量的空格。还必须有其中的东西,如传递或返回