I really do not understand, why the code
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')
does keep on returning None. it prints 'i am here now', but it does not return True, just as the next line says. Why?