递归代码返回 None [重复]

2023-12-23

我真的不明白,为什么代码

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)

如果没有它,函数只会返回None当它终止而没有看到return.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

递归代码返回 None [重复] 的相关文章

随机推荐