2014-04-13 61 views
1
list == [] 

def MultiplesNumber(a): 
    for i in range(1, a+1): 
      if a % i == 0: 
        return i 

list.append(MultiplesNumber(100)) 
TypeError: descriptor 'append' requires a 'list' object but received a 'int' 

我不能將i添加到list,有什麼想法嗎?我不能將int添加到列表

回答

6

兩件事情是你的代碼錯誤:

  • 你正在做一個list == []返回一個真或假,因爲==是一個比較操作。在這種情況下,它返回False。您需要使用=來初始化一個變量。
  • list是python內置類型的名稱,使用其他名稱作爲變量名稱。

固定兩者:

alist = [] 

def MultiplesNumber(a): 
    for i in range(1, a+1): 
      if a % i == 0: 
        return i 

alist.append(MultiplesNumber(100)) 

給出正確的輸出。

+0

謝謝,我不知道** list **是一個關鍵字。 ==是一個錯字。 – andJusticeForAll

+0

'list'不是關鍵字。它是內置列表類型的名稱,因此不是一個好的變量名稱。但是在這個角色中並不禁止,只是一個壞主意。 – Blckknght

+0

@Blckknght更新。謝謝 – shaktimaan

0

list是內置關鍵字,它會影響您的list變量。您需要爲變量分配一個列表,而不是檢查它是否相等。

lst = [] 


def MultiplesNumber(a): 
    return [x for x in range(1, a + 1) if a % 2 == 0] 


lst.append(MultiplesNumber(100)) 
print(lst)