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
,任何想法?
答案 0 :(得分:6)
您的代码有两个问题:
list == []
,它返回True或False,因为==
是比较运算符。在这种情况下,它返回False
。您需要使用=
初始化变量。 list
是python中内置类型的名称,使用其他名称作为变量名称。修复它们:
alist = []
def MultiplesNumber(a):
for i in range(1, a+1):
if a % i == 0:
return i
alist.append(MultiplesNumber(100))
给出正确的输出。
答案 1 :(得分: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)