计算字符串中的两个单词

时间:2016-11-09 13:14:32

标签: python-2.7

我必须从字符串中算出两个词'cat'和'dog'。

如果计数相等,我想返回True其他false

例如,对于输入"dogdoginincatcat",我的方法应返回True

这是我的代码,

def cat_dog(str):
   count=0
   count1=0
   for i in range(len(str)):
      if str[i:i+3] == 'cat':
         count=count+1
      if str[i:i+3] == 'dog':
         count1=count+1
   if count == count1:
      return True
   else:
      return False
cat_dog('catdog')

2 个答案:

答案 0 :(得分:1)

使用count对字符串执行此操作只需一行:

z= "dogdoginincatcat"

print(z.count("cat")==z.count("dog"))

答案 1 :(得分:0)

首先,DON' T使用str(字符串类)作为变量名。虽然Python在那一刻不会哭,但你后来会后悔。

其次,它看起来并不像count和count1缩进为'的内部块。语句,因此您的代码被视为:

for i in range(len(str))
    if something:
        pass
    count = count + 1
    if something_else:
        pass
    count1 = count1 + 1

除此之外,您的代码似乎正常工作