参见英文答案 > Why does my recursive python function return None? 4个
我真的不明白,为什么代码
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')
继续返回无.它打印’我现在在这里’,但它不会返回True,就像下一行所说的那样.为什么?
解决方法:
您可能希望在最后一行返回:
return isIn(char, aStr)
没有它,该函数在终止时返回None而不返回.