有人能帮我做python整型吗

2024-09-29 19:27:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在创建一个简单的二进制搜索算法,并且不断出现以下错误:

'int' not subscriptable

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

Tags: andif错误二进制notelseint搜索算法
1条回答
网友
1楼 · 发布于 2024-09-29 19:27:20

问题在代码中:

lastPos[midPos]

这是一个数字。不可能在数字下标。根据您的逻辑,您的代码应该是:

if searchNumber == data[midPos]:
    found = True

else:
    if searchNumber < data[midPos]:
        lastPos = midPos - 1
    else:
        firstPos = midPos + 1

这是假设您正在搜索的数组名为data。使用任何数组名称

相关问题 更多 >

    热门问题