python中的return错误只返回一个值

python中的return错误只返回一个值,python,return,Python,Return,我在返回时遇到了一些问题。我想将函数生成的数字添加到已经创建的列表中,但是当我返回时,我只得到一个值,但是如果我使用print就可以了 返回值是否只产生一个值 def aFunction(n): for j in range(2,n): for i in range(2,j): if (j % i ==0): break else: return(j)

我在返回时遇到了一些问题。我想将函数生成的数字添加到已经创建的列表中,但是当我返回时,我只得到一个值,但是如果我使用print就可以了

返回值是否只产生一个值

def aFunction(n):
    for j in range(2,n):
        for i in range(2,j):
            if (j % i ==0):
                break
            else:
                return(j)
                break
print(aFunction(10))
好的,这次我稍微编辑了代码,如何使用p来除以n(这是一个int),这样如果没有余数,我就可以将它附加到p上

    def function(n):
         p = [2,]
         for j in range(3,n):
            if (j // p) == 0:
                p.append(j)
         return(p)
   print(function(20))

因为
return
终止函数并返回值

应将这些值添加到列表中,然后打印列表:

def aFunction(n):
    l = []
    for j in range(2,n):
        i in range(2,j):
            if (j % i != 0):
                l.append(j)
    return l

print(aFunction(10))
在Python中,您可以编写更好的代码:

[j for j in range(2,n) for i in range(2,j) if j % i != 0]

因为
return
终止函数,所以当条件转到
else
子句时,它终止函数

使用
生成器
:-

def aFunction(n):
    for j in range(2,n):
        for i in range(2,j):
            if j % i == 0:
                break
            else:
                yield j
                break

print list(aFunction(10))

如果您告诉return返回一个值,它将返回一个值。