我试图找到按字母顺序排列的字符串的字符超过了...以下是代码错误:最大递归深度比较
def isIn(char, aStr):
middleChar = len(aStr)//2
if char == aStr[middleChar]:
return True
elif char < aStr[middleChar]:
LowerHalf = aStr[:middleChar]
return isIn(char, LowerHalf)
elif char > aStr[middleChar]:
UpperHalf = aStr[middleChar:]
return isIn(char, UpperHalf)
else:
return False
print(isIn('a', 'abc'))
它返回True。但当我把
print(isIn('d', 'abc'))
它返回此错误:最大递归深度超过比较;而不是False。
我不明白什么是错的。请告诉我我在做什么逻辑错误。
谢谢了......如果字符串长度为1,那么该字符肯定是字符串。否则尝试将字符串分成一半,现在如果长度为零,则返回False。 – mnislam01