猜数字游戏

在一个黑盒排序数组中,不知道取出的某个数是否为最后满足条件的数,就需要做一些调整。

这个代码是二分法的变体,当找到值后还需要继续二分,一直找到满足条件的边界的数才跳出循环

def get(url):
    x = 456
    if url > x:
        return 404
    else:
        return 200


def main():
    first = 0
    last = 999
    while True:
        mid = (last + first) // 2
        if get(mid) == 200:
            if abs(last - first) <= 2:
                print("结果:", mid)
                break
            else:
                first = mid
        else:
            last = mid
posted @ 2024-05-07 17:37  Naihe\  阅读(8)  评论(0编辑  收藏  举报
// 音乐播放器