我在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
答案 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