Python 将数字追加到emptylist
我试图返回附加到空列表中的2个数字的除数。为什么什么都没印?我期望1,2,3被返回给mw,但我得到返回“[]”和“无”Python 将数字追加到emptylist,python,Python,我试图返回附加到空列表中的2个数字的除数。为什么什么都没印?我期望1,2,3被返回给mw,但我得到返回“[]”和“无” def-fun(t,g): 列表1=[] i=1 r=1 而我
def-fun(t,g):
列表1=[]
i=1
r=1
而我
i%t
从来都不是0
,因为您在i==t
时退出while循环。也许你的意思是t%i
同样适用于r
和g
您的函数没有返回
,因此它将隐式返回无
您应该将返回列表1
添加到它的末尾
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
因此,您仍然需要计算出重复项这是您的实际缩进吗?我修复了它并添加了一个返回语句,但没有打印出列表?请尝试gnibbler的答案。4%1是0。。这是缩进,不是缩进logic@Leifingson,将
i
和t
值进行了转换。出于某种原因,新用户在这里发布代码时,第一行缩进错误是很常见的。@Leifingson这是逻辑。如果是缩进,程序应该抛出缩进错误对不起,这是逻辑,甚至没有看到。我第二次把它们混在一起,谢谢,我现在看到了。是的,1%4。。。这是逻辑
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]