当我编译下面的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?


当前回答

为了它的价值,我的文档字符串缩进太多,这也抛出相同的错误

class junk: 
     """docstring is indented too much""" 
    def fun(): return   

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

其他回答

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

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

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

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

如果你使用notepad++,用扩展搜索模式做一个“替换”来找到\t并替换为四个空格。

您确定在缩进空白中没有混合制表符和空格吗?(这会导致错误。)

注意,建议不要在Python代码中使用制表符。请参阅样式指南。您应该配置notepad++为制表符插入空格。