用python进行二分法查找(python实例三十)
目录
1.认识Python
2.环境与工具
2.1 python环境
2.2 Visual Studio Code编译
3.代码示例
4.运行结果
1.认识Python
Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。
Python 的设计具有很强的可读性,相比其他语言经常使用英文关键字或标点符号,它具有比其他语言更有特色的语法结构。
2.环境与工具
2.1 python环境
在Windows上使用命令行窗口查看所安装的python版本
python --version
2.2 Visual Studio Code编译
Visual Studio Code是一款由微软开发且跨平台的免费源代码编辑器。该软件以扩展的方式支持语法高亮、代码自动补全、代码重构功能,并且内置了命令行工具和Git 版本控制系统。
3.代码示例
def binsearch(lst, search_value):
# 指定查找位置的起始索引
low_index = 0
# 指定查找位置的结束索引
high_index = len(lst) - 1
while low_index <= high_index:
# 计算中间位置
mid_index = (low_index + high_index) // 2
# 中间位置的值
mid_value = lst[mid_index]
# 如果中间位置的值等于要查找的数值
if mid_value == search_value:
# 返回找到数值的索引值
return mid_index
# 如果中间位置的值大于要查找的数值
elif mid_value > search_value:
# 将结束索引值设置为中间位置的索引值减一
high_index = mid_index - 1
else:
# 将起始索引值设置为中间位置的索引值加一
low_index = mid_index + 1
return None
# 定义一个列表
test_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
# 要查找的数值
search_value = int(input("请输入要查找的数值:"))
vret = binsearch(test_list, search_value)
if vret is not None:
print("你在",test_list,'中查找:', search_value
,',找到了,它的索引是:', vret)
else:
print('你在',test_list,'中查找:', search_value,',没有找到。')