首页 文章

缩进错误:unindent与任何外部缩进级别都不匹配[重复]

提问于
浏览
0

这个问题在这里已有答案:

当我编译下面的Python代码时,我得到IndentationError:unindent与任何外部缩进级别都不匹配

Files = os.listdir(".")
monthNum = 1
totMonths = 0
for year in range(2003, 2016):
    os.chdir('./'+str(year))
    for month in range(1, 13):
        totMonths = totMonths +1
        if (month < 10):
            monthStr = str(year)+"0"+str(month)
        else:
            monthStr = str(year)+str(month)

1 回答

  • 1

    当实际缩进与预期的缩进不匹配时会导致此错误 - 可能的罪魁祸首是制表符v空格和缩进一致性 .

    例如,以下代码将抛出此错误:

    if true:
        return 1
    if false:
         return 2
    

    请注意,虽然 true 语句缩进了4个空格,但 false 语句缩进了5个 .

    此示例也会抛出此错误,并且取决于您的文本编辑器可能是不可见的(添加隐藏的字符以供参考):

    if true:
    ....return 1
    if false:
    ⇥   return 2
    

    在这种情况下, true 语句使用四个空格字符缩进,而 false 语句使用制表符号缩进 .

    除了您提供的IndendtationError之外,它还应该为您提供错误发生的确切行 . 也就是说,您提供的样本足够小,以至于整个事物的解决和重新定位应解决它 .

相关问题