Python线性搜索代码运行无输出,请求技术协助
线性搜索代码无输出问题排查
你的代码存在两处关键缩进错误,直接导致无输出且搜索逻辑失效:
linear_search函数逻辑断裂
原代码里return None被放在了for循环的第一次迭代流程中,不管第一个元素是否匹配目标,函数都会直接返回None,循环根本没机会遍历整个列表。必须把return None移到for循环结束之后,确保只有遍历完整个列表都没找到目标时,才返回None。核心执行代码被错误嵌套
numbers列表定义、result变量赋值以及verify(result)调用都被缩进在了verify函数的else代码块里,这部分代码永远不会被执行,自然没有任何输出。需要把这三行代码的缩进调整到和两个函数定义同级的全局作用域中。
修正后的完整代码:
def linear_search(list, target): for i in range(0, len(list)): if list[i] == target: return i return None def verify(index): if index is not None: print("Target found at index:", index) else: print("Target not found in the list") numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] result = linear_search(numbers, 12) verify(result)
运行修正后的代码,会输出Target not found in the list;如果把搜索目标改成列表中存在的元素(比如5),则会输出Target found at index: 4,符合预期。
内容的提问来源于stack exchange,提问作者Haro
相关产品推荐
相关产品推荐

