我是Python编程新手。我希望得到一些关于输出背后原因的指导。我只是在网上做一些练习,遇到了一个我无法理解的问题。代码如下:检查列表中的值。在循环内部还是外部循环?
def dataset(data,n):
for value in data:
if n == value:
return True
else:
return False
print(dataset([1,5,8,3], 3))
print(dataset([1,5,8,3],-1))
输出将是False, False
这是不正确的答案。
经过一番修补之后,我发现了这个问题。正确的代码如下:
def dataset(data,n):
for value in data:
if n == value:
return True
return False
print(dataset([1,5,8,3], 3))
print(dataset([1,5,8,3],-1))
输出结果为True, False
这是正确的答案。
所以我的问题是为什么不同的输出与return False
和else: return False
只是不同的投入?
**所有**迭代完成后返回与第一次迭代期间总是返回完全不同。 –
你真的只需要'返回数据'。循环是不必要的 –
三位逻辑学家走进一家酒吧: *调酒师问道:“你们三个人都喜欢喝啤酒吗?” *第一个回复“我不知道” *第二个回复“我也不知道” *第三个回复“是的,我们三个人都想喝啤酒” –