“类型”类型的对象没有len()
这是我的代码:
def search(li,n):
l = 0
u = len(li)-1
while l <= u:
mid = (l + u) //2
if li(mid) == n:
return True
else :
if li(mid) < n :
l = mid
else:
u = mid
调用函数search()
这是列表:
li = [5,2,8,4,6,3,7,9]
n = 3
if search(list,n):
print("Found")
else:
print("Not Found")
答案 0 :(得分:0)
The
if search(list,n):
应阅读
if search(li,n):
答案 1 :(得分:0)
您必须使用方括号来获取列表中的一项:
def search(li,n):
l = 0
u = len(li)-1
while l <= u:
mid = (l + u) //2
if li[mid] == n:
return True
else :
if li[mid] < n :
l = mid
else:
u = mid
li = [5,2,8,4,6,3,7,9]
n = 3
if search(li,n):
print("Found")
else:
print("Not Found")
答案 2 :(得分:0)
您是否要对未排序的列表进行二进制搜索?好吧,显然,那是行不通的。至于实际检查列表中是否存在给定值,在现实生活中,在python中,只需使用:
if n in li:
print("Found")
else:
print("Not Found")