当我编译下面的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
为何? 函数
看起来是一个缩进问题。 你没必要匹配在Python大括号,但你必须匹配缩进层次。 spa
防止空格/制表符问题的最佳方法是在文本编辑器中显示不可见的字符。 这将为您提供预防和/或解决与缩进相关的错误的快速方法。 code
一样,注入复制粘贴的代码是此类问题的常见来源。 ip
若是您使用Python的IDLE编辑器,则能够按照如下相似错误消息之一的建议进行操做: io
1)全选,例如Ctrl + A 编译
2)转到格式->取消制表区域 class
3)仔细检查您的缩进是否正确,保存并从新运行您的程序。 import
我正在使用Python 2.5.4
多是由于其上方的函数缩进方式不一样。 即
class a: def blah: print("Hello world") def blah1: print("Hello world")
这是由于制表符和空格混在一块儿。 您能够删除全部空格,而后将其替换为制表符。
或者,尝试编写如下代码:
#!/usr/bin/python -tt
在代码的开头。 此行解决了制表符和空格之间的全部差别。
就我而言,问题是在Eclipse上配置pydev