Python 3,list.append无效

时间:2018-03-12 02:13:19

标签: python list append

这是新来的,一直在寻找这个问题的答案。处理项目Euler问题并尝试使用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)

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

3 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

传递正确的论点:

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

当然,你需要在某个地方调用你的功能

答案 2 :(得分:0)

正如我在评论中所说,你需要在某个地方实际调用函数,你还需要给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函数。