#二分查找
def Binary_Search( my_list , item ):
low = 0 #下標
high = len(my_list) -1 #下標
while low <= high: # <= 不加括號
middle = round((low+high)/2) # 注意 middle 要爲整數
if my_list[middle]<item:
low=middle+1
elif my_list[middle]>item:
high=middle-1
else:
return middle
return None
if __name__ == '__main__':
my_list= [1, 3, 5, 7, 9]
print(Binary_Search(my_list, 3)) # 打印3索引值的索引值 => 1
print(Binary_Search(my_list, -1)) # 未找到-1,打印None
注意:當.py文件被直接運行時,if __name__ == '__main__'之下的代碼塊將被運行;當.py文件以模塊形式被導入時,if __name__ == '__main__'之下的代碼塊不被運行。相當於主函數。
round函數使用方法:
round()方法返回 x 的小數點四捨五入到n個數字。
語法
以下是round()方法的語法:
round( x [, n] )
參數
x –這是一個數值表達式
n –這也是一個數值表達式
返回值
該方法返回 x 的小數點四捨五入到n個數字
例子
下面的例子顯示了round()方法的使用
print “round(80.23456, 2) : “, round(80.23456, 2)
print “round(100.000056, 3) : “, round(100.000056, 3)
print “round(-100.000056, 3) : “, round(-100.000056, 3)
當我們運行上面的程序,它會產生以下結果:
round(80.23456, 2) : 80.23
round(100.000056, 3) : 100.0
round(-100.000056, 3) : -100.0