检查字符串在特定单词中出现的次数

时间:2013-05-27 01:15:18

标签: python debugging

我在website上练习我的python编码。这是问题

Return True if the string "cat" and "dog" appear 
the same number of times in the given string. 

cat_dog('catdog') → True
cat_dog('catcat') → False
cat_dog('1cat1cadodog') → True

这是我的代码,由于某些未知原因,我没有通过所有的测试用例。我在调试时遇到问题

def cat_dog(str):

    length=len(str)-2
    i=0
    catcount=0
    dogcount=0



    for i in range (0,length):
        animal=str[i:i+2]

        if ("cat" in animal):
            catcount=catcount+1

        if ("dog" in animal):
            dogcount=dogcount+1

    if (dogcount==catcount):
        return True
    else:
        return False

3 个答案:

答案 0 :(得分:3)

你不需要创建一个函数,只需一行即可。像:

return s.count('cat') == s.count('dog')

答案 1 :(得分:0)

没有循环的替代方案:

> def cat_dog(str):
>     total_len = len(str)
>     cat = str.replace("cat", "")
>     dog = str.replace("dog", "")
>     if len(cat) == len(dog):
>       if len(cat) < len(str):
>         if len(dog) < len(str):
>           return True
>     if len(cat) == len(str) and len(dog) == len(str):
>       return True
> 
>     else: return False

答案 2 :(得分:0)

def cat_dog(str):
    count_cat = str.count('cat')
    count_dog = str.count('dog')
      
    if count_cat == count_dog:
        return True
    else:
        return False