Escribí una función recursiva para encontrar el no. de instancias de una subcadena en la cadena primaria. La forma en que estoy contando es declarando/inicializando el recuento como una variable global fuera del alcance de la función. El problema es que me dará resultados correctos solo la primera vez que se ejecuta la función, porque después de eso cuenta! = 0 para empezar. Y si lo tengo dentro de la función, que cada vez que se llama de forma recursiva, que va a ser ajustado a 0.¿Cómo mantener el recuento en una función recursiva? [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
Nota: Estoy buscando la solución para una función específica recursive
, tengo un proceso iterativo función que funciona bien.
EDIT: Gracias a todos, esto era parte de la tarea, por lo que sólo estaba usando el módulo string
Explique lo que entiende " so "significar; usar el módulo de cuerda es una tontería para Pitones> = 1.6 si la tarea es tarea o no. –