

以下の問題に対して、自分が作成したコードではうまくいきません。  
どこがいけないのでしょうか。

出典: coding_bat string2

> **問題:**
>
> Return the number of times that the string "code" appears anywhere in the
> given string, except we'll accept any letter for the 'd', so "cope" and
> "cooe" count.
[code]

>     count_code('aaacodebbb') → 1
>     count_code('codexxcode') → 2
>     count_code('cozexxcope') → 2
>  
[/code]

**作成したコード:**

[code]

    def count_code(str):
      count=0
      for i in range(len(str)-4):
        if str[i:i+2]=='co' and str[i+4]=='e':
          count+=1
      return count
    
[/code]


CC BY-SA 4.0
2022-06-05T06:08:53.653
89233
2022-06-05T06:27:31.197
2022-06-05T06:27:31.197
3060
52935
question
python
Python での文字検索が意図した通り動かない


インデックスのオフセット値を間違えています。また、Python では `str` という名前はクラス名として使用されていますので別名にする方がよいでしょう。

[code]

    def count_code(text):
      count=0
      for i in range(len(text)-3):
        if text[i:i+2]=='co' and text[i+3]=='e':
          count+=1
      return count
    
    if __name__ == '__main__':
      print(count_code('aaacodebbb'))
      print(count_code('codexxcode'))
      print(count_code('cozexxcope'))
    
[/code]


CC BY-SA 4.0
2022-06-05T06:18:22.883
89234
2022-06-05T06:18:22.883
47127
89233
answer