Python 3,list.append 不起作用



这里新来的,一直在寻找这个问题的答案。处理欧拉项目问题并尝试使用 list.append 将函数的值添加到列表中,但是列表中没有添加任何内容,我不确定为什么。任何帮助表示赞赏。

    import math
    import logging
    %config Application.log_level="INFO"
    input = 600851475143
    factlist = []
    def factors(i):
        for i in range(1, int(math.sqrt(input)) + 1):
            if(input%i == 0):
                factlist.append()
                print(i)

尝试在循环内外定义列表,但无济于事。

正如我在评论中所说,您需要在某处实际调用该函数,并且还需要给append一个参数:

import math
import logging
%config Application.log_level="INFO"
input_ = 600851475143
def factors(input_):
    factlist = []
    for i in range(1, int(math.sqrt(input_)) + 1):
        if(input_%i == 0):
            factlist.append(i)
factlist = factors(input_)

此外,不要使用名称input作为变量,因为它是一个 Python 函数。

您需要将

要附加的元素作为参数传递给append

传递正确的参数:

if(input%i == 0):
    factlist.append(i) #<- i added
    print(i)

当然,你需要在某处调用你的函数

最新更新