我的功能没有返回任何东西

时间:2014-11-21 17:26:11

标签: python recursion

我试图创建一个计算单词中给定字母出现的函数。代码没有错误的问题但是当我调用函数时它没有返回出现的数字< / 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')

1 个答案:

答案 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
>>>