Python If和Else语句的语法错误
在此处输入image description好的,我刚刚开始学习python,我不明白为什么在输入Else之后IF/Else语句一直出现这个错误:“SyntaxError:unindent不匹配任何外部缩进级别”。这是我的密码 如果x>1000: 打印('3') 其他: SyntaxError:SyntaxError:unindent与任何外部缩进级别都不匹配 if和else在同一列,所以我不确定发生了什么? 下面是错误(下面的链接) 解决方案如下:看起来很有趣,但即使If最初位于第4列,python也将其注册为第0列,因此我必须将我的else:置于第0列(尽管它看起来没有对齐。感谢大家的帮助!)!!Python If和Else语句的语法错误,python,if-statement,Python,If Statement,在此处输入image description好的,我刚刚开始学习python,我不明白为什么在输入Else之后IF/Else语句一直出现这个错误:“SyntaxError:unindent不匹配任何外部缩进级别”。这是我的密码 如果x>1000: 打印('3') 其他: SyntaxError:SyntaxError:unindent与任何外部缩进级别都不匹配 if和else在同一列,所以我不确定发生了什么? 下面是错误(下面的链接) 解决方案如下:看起来很有趣,但即使If最初位于第4列,pyt
每个缩进级别应有四个空格
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关于空闲缩进怪癖的指针:
您可能混淆了空格和制表符。请仅使用其中一个。如果您使用空格,请确保使用相同数量的空格。此外,还必须在其中包含一些内容,如传递或返回小心空格和制表符,即使行看起来是缩进的,从python的角度来看,它们可能没有缩进
例如,查看图像,第2行包含4个空格,第6行包含一个选项卡。当您的文本编辑器允许您以某种方式注意到这些差异时,它非常有用。啊,空闲。您已尝试将其输入shell,对吗?因此,事情看起来是这样的
>>> if x > 1000:
print(3)
else:
对吗?关键是,
>
在计算缩进时不起作用。所以事实上,就空闲而言,if和else不在同一列中。:-([它看到的缩进是0、8、4。]您必须启动else:
完全刷新到左边距。但每次我在输入else后按enter键时:在我输入参数之前,语法错误就会弹出?哪个环境?iPython?@BenShapiro您在Mac上混合空格和制表符?python 3.5.2 shell(空闲)它甚至不会让我通过“else:”我可以用制表符换一行,把“pass”和“print”放在同一级别的参数中但同样的错误也会弹出。编辑历史表明您可能在交互模式下做了一些奇怪的事情。请记住,Python并不是在视觉上看行是否正确排列,而是在看您使用的实际空白字符。“在同一列上。”请不要使用为空白指定有意义语义的语言。这是我对Python的主要抱怨之一。另外,制表符或空格本身?现在我们看到词法分析与终端行规则混淆了(这意味着,除其他外,上半部分如何映射和解释控制字符)问题。这不是1966年。IDLE不就是做了…
的事情吗?