【发布时间】:2019-09-29 20:39:56
【问题描述】:
我正在尝试在函数中运行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
如何在删除“无”的同时获得第二个结果(所有值的完整打印循环)?
【问题讨论】:
-
return退出函数。如果你想返回完整的序列,那么只需return value- 不需要循环。 -
您看到的
None不是由thing1()函数打印的。您的thing1()打印出您想要的内容。None可能来自代码中的其他显示。 -
@RobinZigmond 这是真的,但我希望它在循环中运行(即能够像 if 语句一样添加更多复杂性)
-
@AlexandreB。如果它不是一个功能,那就是这种情况。这可以在这里解释:stackoverflow.com/questions/7053652/…
-
@X-cessivePupil 谢谢你的链接!
标签: python function for-loop return nonetype