亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

二進制搜索的此代碼有什么問題?

二進制搜索的此代碼有什么問題?

qq_遁去的一_1 2022-09-13 17:27:13
這是python二進制搜索代碼,當我運行時它不起作用。# Binary Searchdef 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 -1arraySize = 10A = [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.") 錯誤是這樣的:類型錯誤:二進制搜索()缺少2個必需的僅關鍵字參數:“鍵”和“大小”那么,它有什么問題?請幫忙:)
查看完整描述

2 回答

?
慕蓋茨4494581

TA貢獻1850條經驗 獲得超11個贊

程序中有多個錯誤。


您必須將 *args 和 **args 放在位置和關鍵字參數之后。


假設您已經修改了函數定義?,F在,它將數組轉換為元組,該元組將按照您的 algo.it 將列表轉換為列表元組也不起作用。


    def BinarySearch( key, size,*args):

          pass


    [] -> ([], )   

3.So,您只需要放置陣列部分。請參閱以下代碼。


    # Binary Search


def BinarySearch(arr, key, size):

    print(args)

    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, int(searchKey), arraySize)

if element != -1:

    print("Found value in element : ", element)

else:

    print("Value not found.") 


查看完整回答
反對 回復 2022-09-13
?
慕神8447489

TA貢獻1780條經驗 獲得超1個贊

更改此

element = BinarySearch(A, searchKey, arraySize)

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


查看完整回答
反對 回復 2022-09-13
  • 2 回答
  • 0 關注
  • 106 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號