首页 > 解决方案 > 当一个字母可以是任何东西时,找出子字符串出现的多次

问题描述

我正在尝试计算“代码”出现在子字符串中的次数,但是“d”可以是任何字母,因此“应对”和“骗局”也可以计算在内。我只是在学习 Python,我确信这很简单,可能正则表达式会起作用,但我正在做的练习并不需要它。这只是一个网站上的练习题,而不是学校或任何东西。任何帮助,将不胜感激。我已经尝试了所有我能想到的方法。这是我最新的,但它出错并说列表超出范围我的代码如下所示:

def count_code(str):
   sum = o
   for i in range(len(str)-1):
     if str[i:i+1] == ‘co’ and str[i+4] == ‘e’:
       sum += 1
     else:
       sum = 0
   return sum

电话是:


count_code(‘codeeoedeeicoze’)

错误:字符串索引超出范围

标签: python

解决方案


或者这里有一个更接近你的代码,但有一些各种各样的问题:

def count_code(word):
   result = 0
   for i in range(len(word)-3):
       if word[i:i+2] == "co" and word[i+3] == "e":
           result += 1
   return result

print(count_code('codeeoedeeicoze'))

推荐阅读