如何比较2个单词并计算字符串?

时间:2016-03-31 04:36:16

标签: python python-3.x

有人可以帮助我使用我的代码来比较2个单词然后计算字符串差异吗?现在我的代码产生了错误的差异计数。看起来它的数量太多了。我检查了我的变量是否正确而且是。

round

我的代码更新但仍有一些不起作用。有一段时间,当我计算出正确的字母时,他们不会像这样匹配。

def difference(word_one, word_two): count = 0 for letter in range(6): if word_one[letter] == word_two[letter]: count += 1 print(letter, "letter is right.") return count

BETTER
Password incorrect
5/6 correct
BASHER

2 个答案:

答案 0 :(得分:0)

另一个建议是:

def difference(word_one, word_two):
    return sum(l1 != l2 for l1, l2 in zip(word_one, word_two))

这样做的好处是不要求word_oneword_two具有相同的长度,以及从zipsum获得的任何效率提升。< / p>

你当然应该使用

def overlap(word_one, word_two):
    return sum(l1 == l2 for l1, l2 in zip(word_one, word_two))

如果你想找到两个字符串之间的相似性而不是差异

答案 1 :(得分:-1)

def strcmp(word_one, word_two):
    count = 0
    i = j = 0
    while i < len(word_one) and j < len(word_two):
        if word_one[i] != word_two[j]:
            count += 1
        i += 1
        j += 1

    while i < len(word_one):
        count += 1
        i += 1

    while j < len(word_two):
        count += 1
        j += 1

    return count