【发布时间】:2013-08-02 07:01:10
【问题描述】:
我认为我做的一切都是正确的,但是如果值不存在,基本情况返回 None,而不是 False。我不明白为什么。
def binary_search(lst, value):
if len(lst) == 1:
return lst[0] == value
mid = len(lst)/2
if lst[mid] < value:
binary_search(lst[:mid], value)
elif lst[mid] > value:
binary_search(lst[mid+1:], value)
else:
return True
print binary_search([1,2,4,5], 15)
【问题讨论】:
-
你可以使用 bisect 模块,但也许这是家庭作业?
标签: python algorithm python-2.x