2017-04-20 73 views
0
t= int(input()) 
ar=[] 
chk=0 
x=0 
y=0 
while(t>0) 
    i=int(input()) 
    for l in range(i): 
     ar= int(input()) 
    for l in range(i-1): 
     for m in range(l+1,i): 
      x=ar[l] 
      y=ar[m] 
      k=x*y 
      if k in ar: 
       continue 
      else: 
       chk=chk+1 
    print(True) 
    if chk>0: 
     print(False) 
    t-=1 

錯誤:爲什麼我的代碼給'int'對象不是可自定義的錯誤?

x=ar[l] 

TypeError: 'int' object is not subscriptable 
在這個程序我正在tryng如果所有的陣列中的所有的對按照關係X = A * B,其中x是打印真

數組中的任何元素和abd b都是該對中的元素。

+0

'ar'是整數:'AR = INT(輸入())'。你不能下標一個整數。 – kindall

+0

在上面的循環,放'AR [1] = INT(輸入())'代替'AR = INT(輸入())' –

+0

我投票關閉,因爲這只是一個錯字。 –

回答

0

您正在使用ar錯誤。首先你像列表一樣使用ar,然後像int一樣。

ar=[]    # You are using ar like a list 
ar= int(input()) # Now, you are using ar like an int 

你必須追加值:

ar.append(int(input())) 

現在,你是一個好名單!

1

你打算做什麼是追加輸入ar。使用

ar.append(int(input()) 

,而不是

ar = int(input()) 

從而改變ar類型從listint,這是不再可能使用索引來訪問它。

相關問題