当我编译下面的Python代码时,我得到

IndentationError: unindent不匹配任何外部缩进级别


import sys

def Factorial(n): # Return factorial
    result = 1
    for i in range (1,n):
        result = result * i
    print "factorial is ",result
    return result

Why?


当前回答

我使用Jupyter笔记本电脑,尝试了上面几乎所有的解决方案(适应我的场景),但都没有用。然后我逐行删除每行的所有空格并用制表符替换。这就解决了问题。

其他回答

使用Visual studio代码

如果你使用vs code than,它将使用下面的简单步骤将所有混合缩进转换为空格或制表符。

按Ctrl + Shift + p 使用空格输入缩进 按回车键

在原子

Packages > Whitespace > Convert Spaces to Tabs

然后再次检查文件缩进:

python -m tabnanny yourFile.py

or

>python
>>> help("yourFile.py")

每当我遇到这个错误时,都是因为我在编辑器中混淆了制表符和空格。

我在Ubuntu操作系统中使用Sublime文本。要修复此问题,请转到

>缩进->将缩进转换为制表符

对于Spyder用户goto 修复缩进 立即解决这个问题