Я написал рекурсивную функцию, чтобы найти no. экземпляров подстроки в родительской строке. Способ, которым я поддерживаю подсчет, заключается в объявлении/инициализации count как глобальной переменной вне области действия. Проблема в том, что это даст мне правильные результаты только при первом запуске функции, потому что после этого count! = 0 для начала. И если у меня есть его внутри функции, чем каждый раз, когда она вызывается рекурсивно, он будет установлен в 0.Как сохранить счет в рекурсивной функции? [python]
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: Спасибо всем, это было частью домашней работы, так что я только с помощью строки модуль
Пожалуйста, объясните, что вы понимаете » так "означает; использование строкового модуля - это вздор для Pythons> = 1.6, является ли задание домашним заданием или нет. –