2017-09-14 45 views
-1

當我執行這個代碼 - 類型錯誤有一個錯誤:「詮釋」對象不是可迭代如何從列表中找到最大和平方,最後拿模

我將如何解決? (Python 3中)

t,n=input().split() #t refers to number of lists 
l=[0]*7 #initialized list to 0 as maximum 7 elements are possible in list 
s=0 
for i in range(0,int(t)): 
    l[i]=list(map(int,input().split())) #take inputs for t list 
for j in l: #to find max in each list 
    s=s+(max(j)*max(j)) 
print(s%n) 


Traceback (most recent call last): 
File "solution.py", line 7, in 
s=s+(max(j)*max(j)) 
TypeError: 'int' object is not iterable 


inputs: 
3 1000 
2 5 4 
3 7 8 9 
5 5 7 8 9 10 

output: 
206 
+0

請編輯錯誤的完整文本,包括回溯,到你的問題。 –

+0

吧我最後的評論。追溯請。並具有你的變量,將有助於有意義的名字...... –

+0

你能提供上述代碼樣本輸入和輸出? – arsho

回答

0

l靜態的申報創建的問題。我使它變得動態。

修改後的代碼:

t,n=list(map(int, input().split())) #t refers to number of lists 
l=[] #initialized list to 0 as maximum 7 elements are possible in list 
s=0 
for i in range(t): 
    l.append(list(map(int,input().split()))) #take inputs for t list 
for j in l: #to find max in each list 
    s=s+(max(j)*max(j)) 
print(s%n) 

樣品輸入:

3 1000 
2 5 4 
3 7 8 9 
5 5 7 8 9 10 

樣本輸出:

206 

我希望它能幫助。

+0

大! @arsho它工作正常,但一些測試用例失敗.. – Amit

+0

很高興聽到。如果您將其標記爲已接受的答案,我將不勝感激。 – arsho

0

max是接收列表作爲參數,一旦你寫了一個函數「爲了實現L J」你都指向一個整數,爲此MAX(INT)告訴你給定的錯誤。

相關問題