Только что начал изучать Python. Пришлось создать функцию для подсчета подстроки внутри строки. Решил использовать функцию count() строкового модуля, но он не делает то, на что я надеялся.Как вы рассчитываете на вариации подстроки в строковом модуле?
Кажется, функция count() будет перебирать строку, и если она найдет подстроку, она будет перемещать добавление в счетчик, но продолжит ее итерацию в конце подстроки.
Ниже приведен код и тест я бегу:
def count(substr,theStr):
counter = 0
counter = theStr.count(substr, 0, len(theStr))
return counter
print(count('is', 'Mississippi'))
# Expected count: 2 pass
print(count('an', 'banana'))
# Expected count: 2 pass
print(count('ana', 'banana'))
# Expected count: 2 test failed: count: 1
print(count('nana', 'banana'))
# Expected count: 1 pass
print(count('nanan', 'banana'))
# Expected count: 0 pass
print(count('aaa', 'aaaaaa'))
# Expected count: 5 test failed: count: 2