Не могли бы вы просто использовать count
? Он использует намного меньше кода. Смотрите ответ JvdV. Кроме того, кстати, вот как я могу это сделать:
def count_substring(string, substring)
print(string.count(substring))
Это значительно упрощает код, а также вы можете просто полностью избавиться от функции и сделать это:
print(string.count(substring)) # by the way you have to define string and substring first
Если вы хотите включить перекрывающиеся строки, сделайте следующее:
def count(string, substring):
string_size = len(string)
substring_size = len(substring)
count = 0
for i in xrange(0, string_size-substring_size+1):
if string[ i:i + substring_size] == substring:
count += 1
return count