#二分查找
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
\