Python学习29天

二分查找

# 定义函数冒泡排序法从大到小排列
def bbble_sort(list):# i控制排序次数for i in range(len(list) - 1):# j控制每次排序比较次数for j in range(len(list) - 1 - i):if list[j] < list[j + 1]:list[j], list[j + 1] = list[j + 1], list[j]
# 定义二分查找函数
def binary_search(list, search_num):"""二分查找函数适用于从大到小排列的列表:param list: 需要查找的列表:param search_num: 需要查找到元素:return: 查到元素返回对应下标,未查到返回-1"""# 定义返回下标index_num = -1# 左右下标范围left, right = 0, len(list) - 1# 当左下标大于右下标时,说明没找到,退出循环while left <= right:# 获得中间下标mid_index = (left + right) // 2# 当中间值大于查找值时,需要在右半边查找if list[mid_index] > search_num:left = mid_index + 1# 当中间值小于查找值时,需要在左半边查找elif list[mid_index] < search_num:right = mid_index - 1else:  # 即两数相等index_num = mid_indexbreak #找到一个数满足就退出循环return index_numimport random
lst_num = []
# 定义需要查找到数
fin_num = 10
# 循环次数代表列表元素的个数
for _ in range(10):# 随机生成1-100直接的整数,并添加到列表中lst_num.append(random.randint(1, 100))
print(f"排序前:{lst_num}")
bbble_sort(lst_num)
print(f"从大到小排序后:{lst_num}")
index=binary_search(lst_num, fin_num)
if index==-1:print(f"{fin_num}没找到")
else:print(f"{fin_num}找到了,下标为:{index}")

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/886865.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

(Linux)搭建静态网站——基于http/https协议的静态网站

简单了解nginx配置文件 1.下载并开启nginx服务 下载 [rootlocalhost ~]# dnf install nginx -y开启 [rootlocalhost ~]# systemctl restart nginx 1.(1)搭建静态网站——基于http协议的静态网站 实验1&#xff1a;搭建一个web服务器&#xff0c;访问该服务器时显示“hello w…

【数据结构-表达式解析】力扣227. 基本计算器 II

给你一个字符串表达式 s &#xff0c;请你实现一个基本计算器来计算并返回它的值。 整数除法仅保留整数部分。 你可以假设给定的表达式总是有效的。所有中间结果将在 [-231, 231 - 1] 的范围内。 注意&#xff1a;不允许使用任何将字符串作为数学表达式计算的内置函数&#…

「六」体验HarmonyOS端云一体化开发模板——本地真机运行应用

关于作者 白晓明 宁夏图尔科技有限公司董事长兼CEO、坚果派联合创始人 华为HDE、润和软件HiHope社区专家、鸿蒙KOL、仓颉KOL 华为开发者学堂/51CTO学堂/CSDN学堂认证讲师 开放原子开源基金会2023开源贡献之星 「目录」 「一」HarmonyOS端云一体化概要 「二」体验HarmonyOS端云一…

【Bug合集】——Java大小写引起传参失败,获取值为null的解决方案

阿华代码&#xff0c;不是逆风&#xff0c;就是我疯 你们的点赞收藏是我前进最大的动力&#xff01;&#xff01; 希望本文内容能够帮助到你&#xff01;&#xff01; 目录 一&#xff1a;本文面向的人群 二&#xff1a;错误场景引入 三&#xff1a;正确场景引入 四&#xf…

【第4章 | 分类与逻辑回归】(python机器学习)

一、逻辑回归 1.1逻辑回归 二项逻辑回归 • Binomial logistic regression model是一种分类模型 • 由条件概率P(Y|X)表示的分类模型 • 形式化为logistic distribution • X取实数&#xff0c;Y取值1,0 特点&#xff1a; • 事件的几率odds&#xff1a;事件发生与事件不发生…

VSCode+ESP-IDF开发ESP32-S3-DevKitC-1(1)开发环境搭建

VSCodeESP-IDF开发ESP32-S3-DevKitC-1&#xff08;1&#xff09;开发环境搭建 1.开发环境搭建&#xff08;安装ESP-IDF&#xff09;2.开发环境搭建&#xff08;安装VS Code&#xff09;3.开发环境搭建&#xff08;VSCode中安装ESP-IDF插件及配置&#xff09; 1.开发环境搭建&am…

RAID存储技术 详解

RAID&#xff08;Redundant Array of Independent Disks&#xff0c;独立磁盘冗余阵列&#xff09;是一种将多个物理硬盘组合为一个逻辑存储单元的技术。它通过分布数据、冗余校验和容错能力&#xff0c;提高存储系统的性能、可靠性和容量利用率。 以下从底层原理和源代码层面…

深入理解TTY体系:设备节点与驱动程序框架详解

往期内容 本专栏往期内容&#xff1a;Uart子系统 UART串口硬件介绍 interrupt子系统专栏&#xff1a; 专栏地址&#xff1a;interrupt子系统Linux 链式与层级中断控制器讲解&#xff1a;原理与驱动开发 – 末片&#xff0c;有专栏内容观看顺序 pinctrl和gpio子系统专栏&#xf…

【大语言模型】ACL2024论文-17 VIDEO-CSR:面向视觉-语言模型的复杂视频摘要创建

【大语言模型】ACL2024论文-17 VIDEO-CSR&#xff1a;面向视觉-语言模型的复杂视频摘要创建 VIDEO-CSR&#xff1a;面向视觉-语言模型的复杂视频摘要创建 目录 文章目录 【大语言模型】ACL2024论文-17 VIDEO-CSR&#xff1a;面向视觉-语言模型的复杂视频摘要创建目录摘要研究…

华为openEuler考试真题演练(附答案)

【单选题】 以下关于互联网的描述&#xff0c;哪个选项是正确的? A:Nginx 在万维网中可以作为 ftp 服务器的反向代理&#xff0c;并与ftp服务器的数量--对应 B:Nginx 在互联网中可以作为 web服务器端&#xff0c;成为万维网的一个节点 C:互联网上的的资源需使用 Nginx进行七层…

03 —— Webpack 自动生成 html 文件

HtmlWebpackPlugin | webpack 中文文档 | webpack中文文档 | webpack中文网 安装 npm install --save-dev html-webpack-plugin 下载html-webpack-plugin本地软件包 npm i html-webpack-plugin --save-dev 配置webpack.config.js让webpack拥有插件功能 const HtmlWebpack…

STM32设计井下瓦斯检测联网WIFI加Zigbee多路节点协调器传输-分享

目录 目录 前言 一、本设计主要实现哪些很“开门”功能&#xff1f; 二、电路设计原理图 1.电路图采用Altium Designer进行设计&#xff1a; 2.实物展示图片 三、程序源代码设计 四、获取资料内容 前言 本系统基于STM32微控制器和Zigbee无线通信技术&#xff0c;设计了…

golang通用后台管理系统09(系统操作日志记录)

1.日志工具类 package log/**** 日志记录 wangwei 2024-11-18 15:30*/ import ("log""os""path/filepath""time" )// 获取以当前日期命名的日志文件路径 func getLogFilePath() string {currentDate : time.Now().Format("2006-…

100.【C语言】数据结构之二叉树的堆实现 上

目录 1.顺序结构 2.示意图 ​编辑 从物理结构还原为逻辑结构的方法 3.父子节点编号的规律 4.顺序存储的前提条件 5.堆的简介 堆的定义 小根堆和大根堆 6.堆的插入 7.堆的实现及操作堆的函数 堆的结构体定义 堆初始化函数HeapInit 堆插入元素函数HeapPush 堆向上…

Ubuntu Linux使用前准备动作_使用root登录图形化界面

Ubuntu默认是不允许使用 root 登录图形化界面的。这是出于安全考虑的设置。但如果有需要&#xff0c;可以通过以下步骤来实现使用 root 登录&#xff1a; 1、设置 root 密码 打开终端&#xff0c;使用当前的管理员账户登录系统。在终端中输入命令sudo passwd root&#xff0c…

我们来学mysql -- EXPLAIN之type(原理篇)

EXPLAIN之type 题记示例表type 题记 书接上文《 EXPLAIN之select_type》2024美国大选已定&#xff0c;川普剑登上铁王座&#xff0c;在此过程中出谋划策的幕僚很重要&#xff0c;是他们决定了最终的执行计划在《查询成本之索引选择》中提到&#xff0c;explain的输出&#xff…

HTB:MonitorsTwo[WriteUP]

连接至HTB服务器并启动靶机 靶机IP&#xff1a;10.10.11.211 分配IP&#xff1a;10.10.16.7 信息搜集 使用rustscan对靶机TCP端口进行开放扫描 rustscan -a 10.10.11.211 -r 1-65535 使用nmap对靶机开放端口进行脚本、服务扫描 nmap -p 22,80 -sCV 10.10.11.211 漏洞利用 使…

Keepalived部署

Keepalived部署 安装配置单VIP模式配置master节点查看节点IP信息配置 keepalived.conf启动且加入开机自启查看是否生效 配置backup节点配置 keepalived.conf启动且加入开机自启查看是否生效 主备测试 多VIP配置 keepalived.conf查看IP 安装 dnf install -y keepalived配置 单…

ASCB1系列APP操控末端回路智能微断 物联网断路器 远程控制开关 学校、工厂、农场、商业大楼等可用

安科瑞戴婷 Acrel-Fanny ASCB1系列智能微型断路器是安科瑞电气股份有限公司全新推出的智慧用电产品&#xff0c;产品由智能微型断路器与智能网关两部分组成&#xff0c;可用于对用电线路的关键电气因素&#xff0c;如电压、电流、功率、温度、漏电、能耗等进行实时监测&#x…

微知-plantuml常用语法和要点以及模板?(note over、create、box,endbox、alt,else,end, autonumber)

文章目录 常见语法常用 线条类实线虚线斜箭头或奇数箭头 A ->(10) B: B->(10) A分割线&#xff1a;newpage 颜色类给箭头指定颜色 -[#red]->给某个note加颜色&#xff1a; note over Alice, Bob #FFAAAA: xxx给分组信息着色 alt#red 分组类alt xxx; else xxx; else xx…