我正在尝试编写一个二进制搜索,它采用排序列表并找到小于目标值的最大数字:
def binary_max(list, target)
hi=len(list)-1
lo=0
while lo<=hi:
mid=(hi+lo)//2
midval=list[mid]
if midval > target:
hi=mid-1
elif midval <= target:
lo=mid
if hi==lo:
break
return(list[mid])
pass
Run Code Online (Sandbox Code Playgroud)
但是,例如,当有一个长度为2的列表时,hi = 1并且中间值总是卡在lo上,无论如何都要避免这个问题?
谢谢
我事先向您提出这样的基本问题表示歉意,但我是SQlite3的新手,因此无法启动。我试图建立一个表的数据库。我使用以下代码构建表。
import sqlite3
conn = sqlite3.connect('example.db')
c = conn.cursor()
c.execute('''CREATE TABLE mytable
(start, end, score)''')
Run Code Online (Sandbox Code Playgroud)
但是,每当我尝试更新或访问该表时,它似乎都不存在或者可能存在于其他数据库中。我也尝试创建一个名为example.mytable的表,但出现错误:sqlite3.OperationalError:未知数据库示例
我想念什么?谢谢