首页 > 解决方案 > BinarySearch 的这段代码有什么问题?

问题描述

这是 python 二进制搜索代码,当我运行它时它不起作用。

# Binary Search

def BinarySearch(*args, key, size):
    low = 0
    high = size - 1
    while low <= high:
        mid = (low + high) / 2
        if key < args[mid]:
            high = mid - 1
        else:
            if key > args[mid]:
                low = mid + 1
            else:
                return mid + 1
    return -1

arraySize = 10
A = [num * 2 for num in range(10)]
print("Numbers in array are : ", A)
searchKey = input("Enter integer search key : ")
element = BinarySearch(A, searchKey, arraySize)
if element != -1:
    print("Found value in element : ", element)
else:
    print("Value not found.") 

错误是这样的:

TypeError: BinarySearch() 缺少 2 个必需的仅关键字参数:'key' 和 'size' 那么,它有什么问题?请帮助:)

标签: pythonbinary-search

解决方案


改变这个

element = BinarySearch(A, searchKey, arraySize)

element = BinarySearch(A, key=searchKey, size=arraySize)

推荐阅读