一个非常简单的代码示例,用于解决“返回”的难度。 让我们假设我有一个列表,目的是验证一个元素是否在列表中。
lst = [1, 2, 10, 50, 100, 500]
一个功能可以是:
def(number, x): #The first parameter stands for the number I want to search.
for i in range(0, len(x), 1):
if (x[i] == number):
return True
else:
return False
我不知道/了解'返回'关键词?
如果我替换' number
'用2,它将返回False。基本上,有人可以解释为什么这个函数只检查列表中的第一个元素,好吗?
答案 0 :(得分:2)
当函数返回时,它会停止执行任何代码并返回返回的值。这会导致循环只通过列表中的第一项,因为函数无论如何返回。因此,您应该只在循环完成后返回:
def(number, x):
for i in range(0, len(x), 1):
if (x[i] == number):
return True
return False
但是,我建议改为使用in
:
>>> 2 in [1, 2, 10, 50, 100, 500]
True
答案 1 :(得分:1)
你可以迭代x,你不需要范围:
def check(number, x): #The first parameter stands for the number I want to search.
for i in x:
if i == number:
return True
return False # outside the loop, will return False if the number is not equal to any number in x
或简单使用:
In [4]: lst = [1, 2, 10, 50, 100, 500]
In [5]: 2 in lst
Out[5]: True
def check(number, x): #The first parameter stands for the number I want to search.
return number in x
In [23]: check(2,lst)
Out[23]: True
答案 2 :(得分:0)
试试这个:
def(number, x):
for i in range(0, len(x), 1):
if (x[i] == number):
return True
return False
小心,return
停止并离开整个功能