【发布时间】:2018-11-12 11:31:26
【问题描述】:
我试图理解为什么在条件句中返回的第二个函数只会循环一次。 l = [1,2,3,45,6,7] 打印的第一个工作示例:
def xyz(l):
for i in l:
if i==7:
print('7 found')
else:
print('7 not found')
xyz(l)
输出:
7 not found
7 not found
7 not found
7 not found
7 not found
7 found
现在是带有返回语句的函数:
def xyz(l):
for i in l:
if i==7:
return '7 found'
else:
return '7 not found'
结果:
'7 not found'
循环只对第一个元素运行一次并返回 else 值。 请不要对此投反对票,这是我在继续学习python之前需要了解的事情。 return 语句是否退出循环?
提前致谢
【问题讨论】:
-
因为这就是
return正在做的事情。它从函数返回,这将停止任何循环。你期望它做什么? -
@DeepSpace 我希望它在退出之前先遍历所有元素
标签: python loops for-loop if-statement