Recursive code возвращает None [дубликат]

На этот вопрос уже есть ответ:

Почему моя рекурсивная функция Python возвращает 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')

продолжает возвращать None. он печатает «я здесь сейчас», но не возвращает True, как сказано в следующей строке. Зачем

Ответы на вопрос(1)

Ваш ответ на вопрос