2017-06-18 18 views
0

私は未知数のリストを持っています(その数値はプログラムの後半に入力されます)、リスト内で最大のものを見つけようとしています。私は後でそれを乗算することができます。私はmax()を使用するとき、私は「TypeError例外を:型 『リスト』の非整数でシーケンスを乗算することはできません」というエラーを取得し、リスト内の最大数を見つけるために私のコードです: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関数によって投げられません。 –

関連する問題