recursion代码返回无
我真的不明白,为什么代码
def isIn(char, aStr): ms = len(aStr)/2 if aStr[ms] == char: print 'i am here now' return True elif char>aStr[ms] and not ms == len(aStr)-1: aStr = aStr[ms+1:] elif char <aStr[ms] and not ms == 0: aStr = aStr[0:ms] else: return False isIn(char, aStr) print isIn('a', 'ab')
不停地返回None。 它打印“我现在在这里”,但它不会返回True,就像下一行所说的那样。 为什么?
你可能想要在最后一行的return
:
return isIn(char, aStr)
如果没有它,函数在没有看到return
情况下直接返回None
。