python - 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' 那么,它有什么问题?请帮助:)
解决方案
改变这个
element = BinarySearch(A, searchKey, arraySize)
至
element = BinarySearch(A, key=searchKey, size=arraySize)
推荐阅读
- python - 数据框中的有效日期时间评估
- python - 如何在 Python 中获取多行字符串的子字符串?
- angular - 找不到模块“./data.json”。在角
- macros - SPSS:在宏中使用char.substr / 将字符串拆分为多个变量(宏)
- python - 匹配嵌套标签并仅提取文本
- .net - 如何确定.net dll加载问题的来源
- c - 将字符串附加到另一个字符串时出现的转换错误
- swift - 如何保护或加密我的 Swift 包?
- python - 如何正确地将 Python 多处理用于具有签名 f(str, str, str, list) 的函数?
- php - 警告非法字符串偏移