[英]Can someone help me with my python integer error
我正在创建一个简单的二进制搜索算法,但我不断收到此错误:
'int' 不可下标
while not found and firstPos <= lastPos:
midPos = (int(firstPos + lastPos)/2)
if searchNumber == lastPos[midPos]:
found = True
else:
if searchNumber < lastPos[midPos]:
lastPos = midPos - 1
else:
firstPos = midPos + 1
问题出在代码中:
lastPos[midPos]
这里 lastPos 是一个数字。 不能下标数字。 根据您的逻辑,您的代码应类似于:
if searchNumber == data[midPos]:
found = True
else:
if searchNumber < data[midPos]:
lastPos = midPos - 1
else:
firstPos = midPos + 1
这是假设,您正在搜索的数组名为data 。 使用您的阵列名称。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.