python中的return错误只返回一个值
我在返回时遇到了一些问题。我想将函数生成的数字添加到已经创建的列表中,但是当我返回时,我只得到一个值,但是如果我使用print就可以了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)
返回值是否只产生一个值
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返回一个值,它将返回一个值。