Python 如何比较两个单词并计算字符串?
有人能帮我比较两个单词的代码,然后计算字符串的差异吗?现在,我的代码生成了错误的差异计数。这似乎太重要了。我检查了我的变量是否正确,它是否正确Python 如何比较两个单词并计算字符串?,python,python-3.x,Python,Python 3.x,有人能帮我比较两个单词的代码,然后计算字符串的差异吗?现在,我的代码生成了错误的差异计数。这似乎太重要了。我检查了我的变量是否正确,它是否正确 def difference(word_one, word_two): count = 0 for letter in range(6): if word_one[letter] == word_two[letter]: count += 1 print(letter, "l
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
更新我的代码,但仍然有一些不工作。有时,当我数正确的字母时,它们不会像这样匹配
更好
密码不正确
5/6正确
BASHER
def correct_letter(word_one, word_one):
count = 0
for letter in range(6):
if word_one[letter] != word_two[letter]:
count += 1
print(letter, "out of 6 letter is right.")
return count
def strcmp(单词一,单词二):
计数=0
i=j=0
而i
这只是另一个建议:
def difference(word_one, word_two):
return sum(l1 != l2 for l1, l2 in zip(word_one, word_two))
这样做的优点是不需要word\u one
和word\u two
具有相同的长度,并且可以从zip
和sum
中获得任何效率收益
你当然应该使用
def overlap(word_one, word_two):
return sum(l1 == l2 for l1, l2 in zip(word_one, word_two))
如果要查找两个字符串之间的相似性而不是差异示例输出与修订代码中的print语句不匹配。
def overlap(word_one, word_two):
return sum(l1 == l2 for l1, l2 in zip(word_one, word_two))