我真的不明白,为什么代码
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,就像下一行所说的那样。为什么呢?
答案 0 :(得分:6)
您最后一行可能需要return
:
return isIn(char, aStr)
如果没有它,该函数只会在None
终止时返回,而不会看到return
。