使用for循环和strip函数查找两个字符串中重新出现的字母

算法: - 逐个遍历 word1 中的每个字符。如果此字符出现在 word2 中,则将计数加 1。完成字符后返回总计数。


>>>count_common_occurrences('bob y', 'bobbette z')

    3

>>>count_common_occurrences('bobbette z', 'bob y')

    4

这是我的代码


def count_common_occurrences(word1, word2):

    count = 0 

    for i in word1.strip():

        if i in word2.strip():

            count = count + 1

    return count

我得到的结果总是比示例大一,我最初怀疑函数计数空间,所以我使用了 strip 但之后结果仍然相同。我不知道是什么导致函数比它应该的多一个


哈士奇WWW
浏览 103回答 1
1回答

慕运维8079593

它将空格字符计为匹配项,因此返回的结果比您预期的多一个。最简单的解决方法是检查空格字符并跳过它。def count_common_occurrences(word1, word2):    count = 0     for i in word1.strip():        if i != ' ':            if i in word2.strip():                count = count + 1    return countprint(count_common_occurrences('bob y', 'bobbette z'))print(count_common_occurrences('bobbette z', 'bob y'))
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python