线性搜索不返回预期输出

Linear search not returning expected output

我正在 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")

问题是这一行 if(arr[i] == n):n 的类型是 str,因此与 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")