我有一个未知的数字列表(数字会在程序中稍后输入),我试图找到列表中最大的数字,然后将其存储在一个变量中,以便我可以在以后进行乘法运算。当我使用max()
时,我收到一条错误消息“ TypeError:无法将序列乘以'int'类型的非int ”我的代码找到列表中的最大数字是:
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 :(得分:-1)
问题是您在列表中列出了一个列表。您正在向函数传递一个列表,您将其放在括号内,从而创建一个二维列表。试试这个:
def adjacentElementsProduct(inputArray):
input_list = inputArray
#or:
#input_list = [inputArray]
#numb1 = max(input_list[0])
numb1 = max(input_list)
print(numb1)