我在我的程序中獲得了「無」的價值?我哪裏錯了?二進制搜索程序無法按預期工作。有什麼問題?
lis2 = [1, 3, 6, 2, 5, 4, 8, 12]
lis2 = sorted(lis2)
start = 0
end = len(lis2)
mid = (start+end)/2
def binary_search(i):
global mid,start,end
if i==lis2[mid]:
return "Found"
elif i<lis2[mid]:
end = mid-1
mid = (start+end)/2
elif i>lis2[mid]:
start = mid+1
mid = (start+end)/2
else:
return "Not Found"
binary_search(i)
print(binary_search(6))
任何幫助表示感謝。提前感謝!
讓你的函數返回'binary_search(我)'的最後一行。 –