使用 for 循环和 strip 函数查找两个字符串中字母的重新出现
finding re occurrence of letter in two string, using for loop and strip function
算法:
- 逐一检查 word1 中的每个字符。如果这个字符出现在 word2 中,则将计数加 1。 Return 完成字符后的总计数。
>>>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
我得到的结果总是比例子大1,我开始怀疑函数计数space,所以我使用了strip,但结果还是一样。我不知道是什么导致函数比预期的多计数
它将 space 个字符计为一个匹配项,因此它 returns 比您预期的多一个。
最简单的修复方法是检查 space 字符并跳过它。
def count_common_occurrences(word1, word2):
count = 0
for i in word1.strip():
if i != ' ':
if i in word2.strip():
count = count + 1
return count
print(count_common_occurrences('bob y', 'bobbette z'))
print(count_common_occurrences('bobbette z', 'bob y'))
算法: - 逐一检查 word1 中的每个字符。如果这个字符出现在 word2 中,则将计数加 1。 Return 完成字符后的总计数。
>>>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
我得到的结果总是比例子大1,我开始怀疑函数计数space,所以我使用了strip,但结果还是一样。我不知道是什么导致函数比预期的多计数
它将 space 个字符计为一个匹配项,因此它 returns 比您预期的多一个。
最简单的修复方法是检查 space 字符并跳过它。
def count_common_occurrences(word1, word2):
count = 0
for i in word1.strip():
if i != ' ':
if i in word2.strip():
count = count + 1
return count
print(count_common_occurrences('bob y', 'bobbette z'))
print(count_common_occurrences('bobbette z', 'bob y'))