王二学习python的笔记以及记录,如有雷同,那也没事,欢迎交流,wx:wyb199594

复习

1.迭代器
2.生成器
3.内置函数
1.学习55个
2.带key的,max min filter map sorted
4.匿名函数
lambda

学习内容

1.递归函数
了解递归函数:函数内调用函数自己
缺点:占内存; 优点:简化代码
看懂递归函数:多到即便
应用场景:算法相同,重复
初识算法
计算方法:
查找数据
排序
最短路径
算法——二分法查找
三级菜单——递归实现

代码区

1.初识递归函数

import sys
sys.setrecursionlimit(10000000)
n = 0
def story():
global n
n += 1
print(n)
story()
story()

2.二分查找法的演变以及python实现

# 二分法
# v1 1.目标存在,2.只找到,索引错误
'''
l1 = [0, 0, 1, 2, 2, 3, 4, 5, 5, 6, 8, 10, 23, 52, 66, 635, 6542]
def find(l, aim):
mid_index = len(l) // 2
if l[mid_index] < aim:
new_l = l[mid_index+1:]
find(new_l, aim)
elif l[mid_index] > aim:
new_l = l[:mid_index]
find(new_l, aim)
else:
print('Get', mid_index)
find(l1, 66)
'''
# v2
'''
l1 = [0, 0, 1, 2, 2, 3, 4, 5, 5, 6, 8, 10, 23, 52, 66, 635, 6542]
def find(l, aim, start=0, end=len(l1)):
mid_index = (end - start) // 2 + start
if l[mid_index] < aim:
find(l, aim, start=mid_index + 1, end=end)
elif l[mid_index] > aim:
find(l, aim, start=start, end=mid_index-1)
else:
print('get', mid_index, aim)
find(l1, 0)
'''
# 问题:1.找不到的,2.参数end用到了l1 3.函数没有函数值 4.重复
# v3
def find(l, aim, start=0, end=None):
end = len(l) if end is None else end
mid_index = (end - start) // 2 + start
if start <= end:
if l[mid_index] < aim:
return find(l, aim, start=mid_index + 1, end=end)
elif l[mid_index] > aim:
return find(l, aim, start=start, end=mid_index-1)
else:
return mid_index
else:
return 'Not in here' l1 = [2, 3, 5, 10, 15, 16, 18, 22, 26, 30, 32, 35, 41, 42, 55, 56, 66, 67, 69, 72, 76, 82, 83, 88]
print(find(l1, 101))

python之路——17的更多相关文章

  1. Python之路【第十九篇】:爬虫

    Python之路[第十九篇]:爬虫   网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本.另外一些不常使用 ...

  2. Python之路【第十八篇】:Web框架们

    Python之路[第十八篇]:Web框架们   Python的WEB框架 Bottle Bottle是一个快速.简洁.轻量级的基于WSIG的微型Web框架,此框架只由一个 .py 文件,除了Pytho ...

  3. Python之路【第十七篇】:Django【进阶篇 】

    Python之路[第十七篇]:Django[进阶篇 ]   Model 到目前为止,当我们的程序涉及到数据库相关操作时,我们一般都会这么搞: 创建数据库,设计表结构和字段 使用 MySQLdb 来连接 ...

  4. Python之路【第十六篇】:Django【基础篇】

    Python之路[第十六篇]:Django[基础篇]   Python的WEB框架有Django.Tornado.Flask 等多种,Django相较与其他WEB框架其优势为:大而全,框架本身集成了O ...

  5. Python之路【第十五篇】:Web框架

    Python之路[第十五篇]:Web框架   Web框架本质 众所周知,对于所有的Web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客户端. 1 2 3 4 5 6 ...

  6. Python之路【第九篇】:Python操作 RabbitMQ、Redis、Memcache、SQLAlchemy

    Python之路[第九篇]:Python操作 RabbitMQ.Redis.Memcache.SQLAlchemy   Memcached Memcached 是一个高性能的分布式内存对象缓存系统,用 ...

  7. Python之路【第八篇】:堡垒机实例以及数据库操作

    Python之路[第八篇]:堡垒机实例以及数据库操作   堡垒机前戏 开发堡垒机之前,先来学习Python的paramiko模块,该模块机遇SSH用于连接远程服务器并执行相关操作 SSHClient ...

  8. Python之路【第七篇】:线程、进程和协程

    Python之路[第七篇]:线程.进程和协程   Python线程 Threading用于提供线程相关的操作,线程是应用程序中工作的最小单元. 1 2 3 4 5 6 7 8 9 10 11 12 1 ...

  9. Python之路【第六篇】:socket

    Python之路[第六篇]:socket   Socket socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,应用程序通常通过"套接字&quo ...

随机推荐

  1. 学习将码云账号和git连接,并且创建一个项目

    一顿操作猛如虎,哈哈 参考网址:https://git-scm.com/book/zh/v1/%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8A%E7%9A%84-Git-%E7 ...

  2. python小白的自述

    python语言作为目前受用面比较广泛的一种语言,具有简单易学,功能强大的特点.初次接触python完全是由于好奇心,正是因为python的出现,才让我觉得编程不是那么的神秘了.不过作为一个编程小白来 ...

  3. Python第十课学习

    Python第十课学习 www.cnblogs.com/yuanchenqi/articles/5828233.html 函数: 1 减少代码的重复 2 更易扩展,弹性更强:便于日后文件功能的修改 3 ...

  4. 在Netbeans的项目中添加JDBC驱动程序

    想要使用Java连接MySQL数据库,必须在环境中加入配置JDBC驱动程序 Netbeans中添加JDBC的过程是: 1.首先需要下载JDBC 在百度中搜索“mysqljdbc驱动下载”,找到官网 或 ...

  5. 06_mysql先分页查询再排序

    数据库字段: SELECT * FROM (SELECT * FROM tb_item LIMIT 3,3) temp_table ORDER BY id DESC; 查询结果:

  6. Hadoop、Strom集群实现日志自动清理

    Hadoop+Storm集群,运行一段时间ZooKeeper等关键进程自动停止运行,经检测是系统磁盘不足 系统磁盘100%: 查找大文件后发现,空间均被ZooKeeper产生的log占用 find / ...

  7. Python3.7和数据库MySQL 8.0.12 数据库数据驱动mysql-connector安装(四)

    安装mysql-connector驱动 在系统CMD输入命令: pip install mysql-connector 示例: 创建数据库 # 导入驱动 import mysql.connector ...

  8. java.lang.UnsupportedClassVersionError: JVMCFRE003解决方法--jdk 1.6 中switch的参数无法使用String类型

    在jdk 1.6版本中,switch的参数无法使用String类型,只支持int,char,enum类型. 1.6版本之前不支持switch语句存在字符串的判断,升级到1.7或1.8及以上版本即可.

  9. AssetBundle-----资源包划分

    资源包划分 经常更新的资源放在一个单独的包里面,跟不经常更新的包分离;需要同时加载的资源放在一个包里面;其他包共享的资源放在一个单独的包里面;需要同时加载的小资源打包成一个包;对于一个同一个资源有两个 ...

  10. 使用getInstance()方法的原因及作用

    使用getInstance()方法的原因及作用 先举例说明: 下面是一个例子,为什么要把这个类实例化?有什么好处? //实例化 public static DBConnect instance; pu ...