谁将审核我的第一个文本编码导致缩进错误?

时间:2016-12-28 15:30:08

标签: python-2.7 indentation

def classify0(inX, dataSet, labels, k):
    dataSetSize = dataset.shpe[0]
    diffMat = tile(inX, (dataSetSize, 1)) - dataSet
    sqDiffMat = diffMat ** 2
    sqDistances = sqDiffMat.sum(axis = 1)
    distances = sqDistances ** 0.5
    sortedDistIndicies = distances.argsort()
    classCount={}
    for i in range(k):
        voteIlabel = labels[sortedDistIndicies[i]]
        classCount[voteIlabel] = classCount.get(voteIlabel, 0) + 1
    sortedClassCount = sorted(classCount.interitems(),
                              key=operator.itemgetter(1), reverse=true)
    return sortedClassCount[0][0]

上面是我第一次使用python进行编码。我将它导入终端,它说'IndentationError:unindent与任何外部缩进级别都不匹配'。但我不知道如何解决它。请帮帮我。

1 个答案:

答案 0 :(得分:0)

<击> 你的代码是:

    sortedClassCount = sorted(classCount.interitems(),
                          key=operator.itemgetter(1), reverse=true)
    return sortedClassCount[0][0]

<击> 似乎没有理由跳。只需删除所有额外的空格,如下所示:

    sortedClassCount = sorted(classCount.interitems(),
    key=operator.itemgetter(1), reverse=true)
    return sortedClassCount[0][0]

在python中,因为没有奇怪的括号{}来表示函数的开始和结束,所以解释器使用缩进级别来了解差异。 这就是您的代码不起作用的原因。

尝试删除所有缩进并将其放回原因,因为您可能在标签中添加了混合空格,或者您不小心将另一个空格添加到了您不应该有的地方。