【发布时间】:2017-10-08 06:46:20
【问题描述】:
我正在尝试在按字母顺序排列的字符串中查找一个字符...这是代码
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'))
它返回真。但是当我把
print(isIn('d', 'abc'))
它返回此错误:比较超出了最大递归深度;而不是 False。
我不明白怎么了。请告诉我我做的逻辑错误在哪里。
【问题讨论】:
标签: python-3.x recursion