Я написал рекурсивную функцию, чтобы найти no. экземпляров подстроки в родительской строке. То, как я поддерживаю подсчет, заключается в объявлении/инициализации count как глобальной переменной вне области функции. Проблема в том, что это даст мне правильные результаты только при первом запуске функции, потому что после этого count!= 0 для начала. И если у меня есть внутри функции, чем каждый раз, когда она вызывается рекурсивно, она будет установлена в 0.
count=0
def countSubStringMatchRecursive(target,key):
index=find(target,key)
global count
targetstring=target
if index>=0:
count=count+1
target=target[index+len(key):]
countSubStringMatchRecursive(target,key)
else :
pass
return "No. of instances of", key, 'in', targetstring, 'is', count
Примечание. Я ищу решение для функции recursive
специально, у меня есть итеративная функция, которая работает нормально.
EDIT: Спасибо всем, это было частью домашней работы, поэтому я использовал только строковый модуль