在循环和打印后执行语句。
对于linearsearch
代码,我尝试了很少的可能性,但是我不确定为什么最后一个打印语句会被执行?
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")
预期输出:
找到
实际结果:
找到
未找到
答案 0 :(得分:2)
f2
只是您发布的代码中的最后一个项目,因此它将始终被执行。您尚未包含任何条件来阻止该行执行。顺便说一句,您根本没有调用print("Not found")
函数。
您可能打算执行以下操作(引用您的linearsearch()
函数并将您的linearsearch()
变量重命名为list
,因为踩踏内置组件不是一个好主意):
items
答案 1 :(得分:0)
如果用这种方式编写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
>>>