xiannvytt 2021-04-02 16:41 采纳率: 50%
浏览 58
已采纳

初学者python代码实践

在print binary_search那里报错,第一天学习,有知道问题在哪里的大佬嘛

def binary_search(list,item):
    low = 0
    high=len(list)-1
    while low<=high:
        mid =(low+high)/2
        guess=list[mid]
        if guess==item:
            return mid
        if guess>item:
            high=mid-1
        else:
            low = mid+1
        return None
my_list = [1,3,5,7,9]
print binary_search(my_list, 3) 
print binary_search(my_list, -1) 

  • 写回答

4条回答 默认 最新

  • CSDN专家-Yang 2021-04-02 16:48
    关注

    这段代码报错, 有2个地方修改了一下, 不报错了, 但是结果为None, 你结合你的需求再完善下:

    1 print语句修改, 需要加括号

    2 mid 在计算后, 用list切片, 需要是整数

    def binary_search(list,item):
        low = 0
        high=len(list)-1
        while low<=high:
            mid =(low+high)/2
            guess=list[int(mid)]  # 索引里面需要是整数, 上面mid计算的是含小数点
            if guess==item:
                return mid
            if guess>item:
                high=mid-1
            else:
                low = mid+1
            return None
    my_list = [1,3,5,7,9]
    print(binary_search(my_list, 3))   # print语句的写法修改 
    print(binary_search(my_list, -1))  
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 宇视监控服务器无法登录
  • ¥15 PADS Logic 原理图
  • ¥15 PADS Logic 图标
  • ¥15 电脑和power bi环境都是英文如何将日期层次结构转换成英文
  • ¥15 DruidDataSource一直closing
  • ¥20 气象站点数据求取中~
  • ¥15 如何获取APP内弹出的网址链接
  • ¥15 wifi 图标不见了 不知道怎么办 上不了网 变成小地球了
  • ¥50 STM32单片机传感器读取错误
  • ¥50 power BI 从Mysql服务器导入数据,但连接进去后显示表无数据