有没有更简单的方法从Python中的CodingBat做string_match?

时间:2016-03-08 00:35:52

标签: python logic

这就是问题所在。 http://codingbat.com/prob/p182414

总结一下,给定两个字符串(a和b)返回字符串a的子字符串2在字符串b中的次数。例如,string_match('xxcaazz','xxbaaz')→3。

def string_match(a, b):
    amount = 0
    for i in range(len(a)):
        if (len(a[i:i+2]) == 2) and a[i:i+2]  == b[i:i+2]:
            amount += 1
    return amount

2 个答案:

答案 0 :(得分:0)

并不简单,但如果您将i的范围限制为len(a)-1,则无需检查它是否定义了a的足够长的子字符串。< / p>

答案 1 :(得分:0)

我的方法是这样的:

def string_match(a, b):
    count = 0
    for i in range(len(a)-1):
        if a[i:i+2]==b[i:i+2]:
            count += 1
    return count