晚上好。我正试图回到编程,并决定做一些实践编码自己的时间我目前正在尝试实现一个二进制搜索,但在我的代码中似乎有一个连续的循环。有人能告诉我发生了什么事吗?
def binChop(key, ordered_set):
found = False
newSet = ordered_set
while found != True or newSet > 0:
midpoint = int(len(newSet)/2)
if key < newSet[midpoint]:
found = False
newSet = newSet[:midpoint]
elif key > newSet[midpoint]:
found = False
newSet = newSet[midpoint:]
elif key==newSet[midpoint]:
found = True
return found
最佳答案
我认为你的问题是暂时的您有一个“或”而不是“和”-这意味着即使您找到了结果,newSet>0条件也将得到满足。