Z.风止 2021-11-23 14:52 采纳率: 66.7%
浏览 24
已结题

救jiu叭,python二分法完成任务

img

  • 写回答

1条回答 默认 最新

  • 辉煌仪奇 2021-11-23 15:03
    关注
    def binary_search(list_: list, item):
        n = len(list_)
        left = 0
        right = n - 1
        while left <= right:
            mid = (left + right) // 2
            if list_[mid] == item:
                return mid
            elif item < list_[mid]:
                left = left
                right = mid - 1
            elif item > list_[mid]:
                left = mid + 1
                right = right
        return None
    
    if __name__ == '__main__':
        l = [45, 65, 66, 72, 89]
        findnum = int(input())
        mark= binary_search(l,findnum)
        print(mark if mark else "该成绩找不到")
    

    img

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 12月1日
  • 已采纳回答 11月23日
  • 创建了问题 11月23日