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

当我编译下面的Python代码时,我获得 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

为何? 函数


#1楼

看起来是一个缩进问题。 你没必要匹配在Python大括号,但必须匹配缩进层次。 spa

防止空格/制表符问题的最佳方法是在文本编辑器中显示不可见的字符。 这将为您提供预防和/或解决与缩进相关的错误的快速方法。 code

一样,注入复制粘贴的代码是此类问题的常见来源。 ip


#2楼

若是您使用Python的IDLE编辑器,则能够按照如下相似错误消息之一的建议进行操做: io

1)全选,例如Ctrl + A 编译

2)转到格式->取消制表区域 class

3)仔细检查您的缩进是否正确,保存并从新运行您的程序。 import

我正在使用Python 2.5.4


#3楼

多是由于其上方的函数缩进方式不一样。 即

class a:
    def blah:
      print("Hello world")
    def blah1:
      print("Hello world")

#4楼

这是由于制表符和空格混在一块儿。 您能够删除全部空格,而后将其替换为制表符。

或者,尝试编写如下代码:

#!/usr/bin/python -tt

在代码的开头。 此行解决了制表符和空格之间的全部差别。


#5楼

就我而言,问题是在Eclipse上配置pydev

pydev @ Eclipse

相关文章
相关标签/搜索