def sanfen(A,l,r): # 三分查找法代码
while(l<r-1):
mid=int((l+r)/2) #先取整个区间的中间值(取整)
rmid=int((mid+r)/2) #再取右侧区间的中间值,把区间分为三个小区间
#如果mid比rmid更靠近最值,就舍弃右区间,否则舍弃左区间
if(A[mid]>A[rmid]):
r=rmid
else:
l=mid
return A[l]
if __name__=='__main__':
A=[1,2,4,5,8,11,6,3,2,1]
aa=sanfen(A,1,10)
print(aa) #得到最值