Python 线性搜索打印列表中存在的值的“已找到”和“未找到”
循环和打印后执行的语句 对于Python 线性搜索打印列表中存在的值的“已找到”和“未找到”,python,python-3.x,Python,Python 3.x,循环和打印后执行的语句 对于linearsearch代码,我尝试了几种可能性,但我不确定最后一个print语句为什么会被执行 def linearsearch(list, n): i = 0 for i in range(len(list)): if(list[i] == n): return True list = [4, 6, 8] n = 4 if search(list, n): print("Found"
linearsearch
代码,我尝试了几种可能性,但我不确定最后一个print语句为什么会被执行
def linearsearch(list, n):
i = 0
for i in range(len(list)):
if(list[i] == n):
return True
list = [4, 6, 8]
n = 4
if search(list, n):
print("Found")
print("Not found")
预期产出:
发现
实际结果:
发现
找不到
print(“notfound”)
只是您发布的代码中的最后一行项目,因此它将始终被执行。您没有包含任何阻止该行执行的条件。另外,您根本没有调用linearsearch()
函数
您可能打算执行以下操作(引用了linearsearch()
函数,并将list
变量重命名为items
,因为踩踏内置项不是一个好主意):
如果
linearsearch()
是这样编写的,那么它可能会更python,更简单:
def linearsearch(list, n):
return n in list
以下是示例用法的输出:
>>> def linearsearch(list, n):
... return n in list
...
>>> linearsearch([1,2,3], 1)
True
>>> linearsearch([1,2,3], 4)
False
>>>
非常感谢,现在有道理了:)
>>> def linearsearch(list, n):
... return n in list
...
>>> linearsearch([1,2,3], 1)
True
>>> linearsearch([1,2,3], 4)
False
>>>