有人可以帮助我使用我的代码来比较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
答案 0 :(得分:0)
另一个建议是:
def difference(word_one, word_two):
return sum(l1 != l2 for l1, l2 in zip(word_one, word_two))
这样做的好处是不要求word_one
和word_two
具有相同的长度,以及从zip
和sum
获得的任何效率提升。< / 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