线性搜索未返回预期输出[重复]

Posted

技术标签:

【中文标题】线性搜索未返回预期输出[重复]【英文标题】:Linear search not returning expected output [duplicate] 【发布时间】:2021-08-31 17:22:00 【问题描述】:

我正在 python 中进行简单的线性搜索,但它不起作用,我找不到我的代码有什么问题!!!

n = input("enter a number: ")
arr = [1,42,3,45,5]
count = 0;
for i in range(0, len(arr)):
    if(arr[i] == n):
        count = count + 1
if(count>0):
    print("found")
else:
    print("not found")

【问题讨论】:

arr[i] == int(n) input 返回字符串 也不要使用 len 来遍历同一个列表,只需使用 for i in arr: if i == int(n): count += 1 【参考方案1】:

问题是这一行 if(arr[i] == n):: nstr 类型,因此与 int 的比较总是会失败。

试试:

if arr[i] == int(n):

在这里,您在比较之前将n 转换为整数。请注意,如果您无法转换为 int,这将引发错误。您可以按以下方式解决此问题:

n = input("enter a number: ")
arr = [1, 42, 3, 45, 5]

try:
    if int(n) in arr:
        print("found")
    else:
        print("not found")

except ValueError:
    print("Not an integer")

【讨论】:

这是一个很好的方法,谢谢伙计,我犯了一个愚蠢的错误,我应该将用户输入转换为 int @SouvikSen 很高兴为您提供帮助,欢迎来到 Stack Overflow。如果此答案解决了您的问题,请将其标记为已接受。

以上是关于线性搜索未返回预期输出[重复]的主要内容,如果未能解决你的问题,请参考以下文章

Javascript函数返回未定义,预期整数值[重复]

线性搜索未成功完成

字符串数组的线性搜索[重复]

使用文本文件 C# 进行线性搜索 [重复]

动画未按预期工作[重复]

PHP:返回数组中两个日期之间的所有日期[重复]