我试图返回我追加到空列表中的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
答案 0 :(得分:1)
i % t
永远不会0
,因为您在i == t
时退出while循环。也许你的意思是t % i
?
同样适用于r
和g
。
您的函数没有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]
所以你仍然需要解决重复问题