我试图创建一个计算单词中给定字母出现的函数。代码没有错误的问题但是当我调用函数时它没有返回出现的数字< / p>
def countSubStringMatchRecursive(key, target):
if find(target, key)==-1:
occ = 0
return occ
else:
countSubStringMatchRecursive(key, target[find(target, key)+1:])
occ = 1 + countSubStringMatchRecursive(key, target[find(target, key)+1:])
return occ
print occ
countSubStringMatchRecursive('a', 'sapatara')
答案 0 :(得分:0)
您正在调用一个不存在的全局查找功能。请尝试使用target.find(key)
编辑:仔细观察,你有一些错误和一些不好的风格。这是您的功能的编辑版本,可以满足您的需求:
>>> def countsub(key, target):
i = target.find(key)
... if i==-1:
... return 0
... else:
... return 1 + countsub(key, target[i+1:])
...
>>> countsub('a', 'apatara')
4
>>>