我试图在函数中运行For loop
,但是当我调用该函数时,仅返回第一个值。
我尝试用print
而不是return
结束循环,这样可以得到正确的结果(它将打印循环中的每个值),但是意味着添加了none
答案,因为现在有重复打印了。
请注意:在这些示例中,可以直接打印“值”,但是我希望能够通过for循环运行,以在以后增加复杂性。
以return
结尾的函数仅打印出For循环的第一个值:
def thing():
value = ( 1, 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 )
for x in value:
return x
print(thing())
# 1
此功能使用print
并给出正确的结果,但由于两次打印而添加了none
除外。
def thing1():
value = ( 1, 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 )
for x in value:
print(x)
print(thing1())
>>> OutPut:
1
2
3
4
5
6
7
8
9
10
None
在删除“无”的同时,如何准确地获得第二个结果(所有值的完整打印循环)?
答案 0 :(得分:0)
运行return
之后,该函数停止求值。如果要在for循环中返回所有内容,请返回其输出列表:
ret_vals = []
for x in value:
ret_vals.append(x)
return(ret_vals)
您可以像指定的那样在新行上打印它们:
out = func()
for x in out:
print(x)