2017-06-18 55 views
0

我有一個未知的數字列表(數字在程序中稍後輸入),我試圖找到列表中最大的那個,然後將它存儲在一個變量中我可以稍後再做它的增殖。當我使用max()我得到一個錯誤說:我的代碼,在列表中找到的最大號「類型錯誤不能按類型‘列表’非INT繁衍序列」是:Python - 如何從列表中獲取整數

def adjacentElementsProduct(inputArray): 
    input_list = [inputArray] 
    numb1 = max(input_list) 
    print(numb1) 

我的全代碼是

def adjacentElementsProduct(inputArray): 
input_list = inputArray 
numb1 = max(input_list) 
print(numb1) 
location = input_list.index(numb1) 
if numb1 == input_list[-1]: 
    test2 = input_list[location-1] 
    small_list = [test2] 
    numb3 = small_list[0] 
    return numb1 * numb3 
elif numb1 == input_list[0]: 
    test1 = input_list[location+1] 
    small_list = [test1] 
    numb3 = small_list[0] 
    return numb1 * numb3 
else: 
    test1 = input_list[location+1] 
    test2 = input_list[location-1] 
    greater_list = [test1, test2] 
    numb2 = max(greater_list) 
    return numb1 * numb2 
+0

顯示完整的回溯。不清楚'inputArray'是什麼。顯示問題的完整示例用法 –

回答

-1

問題是,您正在列表中列出一個列表。您將函數傳遞給一個列表,並將其放入方括號中,從而創建一個2d列表。試試這個:

def adjacentElementsProduct(inputArray): 
    input_list = inputArray 
    #or: 
    #input_list = [inputArray] 
    #numb1 = max(input_list[0]) 
    numb1 = max(input_list) 
    print(numb1) 
+0

只要使用'max(inputArray)',如果您打算這樣做 –

+0

我同意。但是,我試圖儘可能地將我的解決方案與OP的相匹配。 – Ajax1234

+0

你不是很快就假定參數已經是一個列表嗎?所提到的錯誤甚至沒有被max函數 –