二进制搜索的逻辑是合理的。唯一的问题是您忘记了将每个递归调用的结果分配给
index和
found。
当前,您有以下这些递归调用:
BinarySearch(data, target, low, mid - 1)//...BinarySearch(data, target, mid + 1, high)
您只需要分配结果:
index, found = BinarySearch(data, target, low, mid - 1)//...index, found = BinarySearch(data, target, mid + 1, high)



