【发布时间】:2022-01-13 05:46:42
【问题描述】:
所以我一直在尝试制作一个使用二分搜索来学校的程序,但是每当我尝试运行它时,它都会返回错误“TypeError:列表索引必须是整数或切片,而不是 NoneType”
这是代码:
arr = [1,2,3,4,5,6,7]
find = 3
if len(arr)%2 != 0:
half = int(len(arr)+1)
else:
half = int(len(arr))
half = half/2
half = int(half)
while True:
half = int(half)
sort = arr[half]
print(sort)
if find < sort:
half = print(half/2)
elif find > sort:
half = half+(half/2)
elif find == sort:
print(f"found at position {half}")
我明确声明它是一个整数,但它不起作用,我不知道为什么
【问题讨论】:
标签: arrays binary-search python-3.8