当前位置: 首页 > news >正文

用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,',没有找到。')

4.运行结果

相关文章:

  • 【算法通关村 Day5】Hash和队列的经典问题
  • 敏捷开发06:用户故事估算方法介绍
  • DDD领域驱动开发第2讲:领域驱动开发在货代订单业务的实践
  • 爬虫获取的数据能用于哪些数据分析?
  • 基本控制环节的幅频和相频特性
  • 期权帮|场外个股期权杠杆与风险分析
  • Vue 3 30天精进之旅:Day 29 - 项目实战
  • 拦截器VS过滤器:Spring Boot中请求处理的艺术!
  • 深入解析NoSQL数据库:从文档存储到图数据库的全场景实践
  • 了解几个 HTML 标签属性,实现优化页面加载性能
  • HTML/CSS中后代选择器
  • 目标跟踪(Object Tracking) vs. 目标识别(Object Recognition)
  • 【基础架构篇十五】《DeepSeek权限控制:RBAC+ABAC混合鉴权模型》
  • 第十篇:电源设计的“能量矩阵”——无线充电与碳化硅LLC谐振
  • 一文读懂Docker之Docker Compose
  • ARM64 Trust Firmware [五 ]
  • 什么是 BFC
  • 实现历史数据的插入、更新和版本管理-拉链算法
  • Aseprite详细使用教程(14)——像素画明亮画法
  • 机器学习小项目之鸢尾花分类
  • 《制止滥用行政权力排除、限制竞争行为规定(修订草案征求意见稿)》公开征求意见
  • “免签圈”扩容,旅游平台:今年以来巴西等国入境游订单显著增加
  • 俄外交部:俄乌伊斯坦布尔谈判改在当地时间15日下午举行
  • 商务部:中方敦促美方尽快停止232关税措施
  • 汤加附近海域发生6.4级地震
  • 杭勇已任常州市政协党组成员,此前任常州市委常委、秘书长