def binary_search(li, targetValue):
low, high = 0, len[li] #error on this line
while low <= high:
mid = (high - low)/2
if li[mid] == targetValue:
return "we found it!"
elif li[mid] > targetValue:
low = mid - 1;
elif li[mid] < targetValue:
high = mid + 1;
print "search failure "
最近刚刚发布了这个问题,但是我的代码仍然不起作用?
len
是一个内置函数,但您试图将其用作序列:改为调用函数:
注意这里的形状变化,索引是用方括号完成的,调用是用圆括号完成的。
Python使用
(...)
调用函数,使用[...]
索引集合。此外,您现在要做的是索引内置函数len
。要解决此问题,请使用括号而不是方括号:
您使用了错误的括号
len(li)
而不是len[li]
记住,当您试图访问一个函数时,如果您使用
function(args)
,则需要使用[]
,实际上您正在访问一个序列,如列表。your_list[index]
。len是一个内置函数,因此需要()
相关问题 更多 >
编程相关推荐