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'

我不能添加ilist有什么想法吗?

4

2 回答 2

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))

给出正确的输出。

于 2014-04-13T04:53:15.260 回答
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)
于 2014-04-13T04:58:35.733 回答