将数字附加到空列表

时间:2013-10-23 05:46:07

标签: python

我试图返回我追加到空列表中的2个数字的除数。为什么没有印刷?我希望将1,2,3归还给mw,但我会被退回" []"和"无"

def fun (t,g) :
    list1 = []
    i = 1
    r = 1
    while i < t :
        if i % t == 0 :
            list1.append(i)
        i = i + 1
    while r < g :
        if r % g == 0 :
            list1.append(r)
        r = r + 1
    print list1

x = 4
y = 6

t = fun(x,y)
print t

1 个答案:

答案 0 :(得分:1)

i % t永远不会0,因为您在i == t时退出while循环。也许你的意思是t % i

同样适用于rg

您的函数没有return,因此会隐式返回None

您应该在其末尾添加return list1

def fun (t,g) :
    list1 = []
    i = 1
    r = 1
    while i < t :
        if t % i == 0 :
            list1.append(i)
        i = i + 1
    while r < g :
        if g % r == 0 :
            list1.append(r)
        r = r + 1
    print list1
    return list1

x = 4
y = 6

t = fun(x,y)
print t

打印

[1, 2, 1, 2, 3]
[1, 2, 1, 2, 3]

所以你仍然需要解决重复问题