Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何比较两个单词并计算字符串?_Python_Python 3.x - Fatal编程技术网

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))