接收TabError:在python程序中缩进中使用制表符和空格不一致

时间:2017-03-05 00:51:33

标签: python

我正在处理一个leetcode问题,问题是:

给出一个单词列表和两个单词word1和word2,返回列表中这两个单词之间的最短距离。

例如, 假设单词= ["练习","制作","完美","编码","制作"]

鉴于word1 =“coding”,word2 =“practice”,返回3。 鉴于word1 ="使",word2 ="编码",返回1.

到目前为止我的代码:

    class Solution(object):
    def shortestDistance(self, words, word1, word2):
        count = 0
        count2 = 0

        for i in word1:
            count+=1
            for j in word2:
                count2 += 1

            if count > count2:
                return (count-count2)
            else:
                return (count2-count1)

s = Solution()
print(s.shortestDistance(["practice", "makes", "perfect", "coding", "makes"], "coding", "practice")

我已经尝试过使用标签,我仍然无法找到正确的方法来对齐代码。

*该方法是缩进的,但由于某种原因,这里不会缩进只是fyi

1 个答案:

答案 0 :(得分:0)

我不确定你所说的缩进问题 - 你的方法定义应该进一步缩进,但除此之外,它似乎有效(意味着它运行)。但根据我的理解,你的逻辑看起来是错误的。试试这个:

class Solution(object):
    def shortestDistance(self, words, word1, word2):
        count = 0

        for word in words:
            count += 1
            if word == word1:
                count1 = count
            if word == word2:
                count2 = count

        if count1 > count2:
            return (count1-count2)
        else:
            return (count2-count1)

s = Solution()

请注意,如果您有相同单词的副本(例如make和make),这会有一些有趣的行为 - 它会计算列表中最后一个单词的位置。但它应该更接近你想要做的事情。