Python

python学习笔记 第五章2

经典的汉诺塔问题:这里我们可以利用递归的思想去做,递归中重要的三步,我们逐条来实现:1、函数+分支结构2、递归链条3、递归基例函数+分支结构:defhanoi(n,start,end,mid):globalcountif:else:这里我们可以定义一个函数,里面的参数有:一共有n个圆盘,从start柱子移到end柱子,中间柱子为mid。这里定义一个全局变量来计算移动的步骤数,若为局部变量,会在函数内部不断初始化,所以需要定义全局变量。递归基例:ifn==1

系统 2019-09-27 17:52:07 2131

Python

Python集训营45天—Day03 (分支和循环)

目录1.分支结构1.1初步介绍1.2使用案例1.3练习2.循环结构1.1初步介绍1.2使用案例1.分支结构1.1初步介绍至今,我们所写的Python代码都是顺序执行,但是有时候在代码中是需要进行逻辑判断的,比如用户输入用户名和密码,输入正确则验证通过,否则即验证失败。这个时候就会产生两个分支,而且两个分支只会有一条分支会走下去。当然,还有很多类似的场景,我们将这种结果称为"分支结构"或“选择结构”。语法格式:ifxxx1:事情1elifxxx2:事情2el

系统 2019-09-27 17:51:46 2131

Python

Python中使用第三方库xlrd来写入Excel文件示例

继上一篇文章使用xlrd来读Excel之后,这一篇文章就来介绍下,如何来写Excel,写Excel我们需要使用第三方库xlwt,和xlrd一样,xlrd表示readxls,xlwt表示writexls,同样目前版本只支持97-03版本的Excel。xlwt下载:xlwt0.7.4安装xlwt安装方式一样是pythonsetup.pyinstall就可以了,或者直接解压到你的工程目录中。API介绍获取一个xls实例复制代码代码如下:xls=ExcelWrit

系统 2019-09-27 17:51:03 2131

Python

Python常用随机数与随机字符串方法实例

随机整数:复制代码代码如下:>>>importrandom>>>random.randint(0,99)21随机选取0到100间的偶数:复制代码代码如下:>>>importrandom>>>random.randrange(0,101,2)42随机浮点数:复制代码代码如下:>>>importrandom>>>random.random()0.85415370477785668>>>random.uniform(1,10)5.4221167969800881

系统 2019-09-27 17:50:25 2131

Python

Python学习笔记之Django创建第一个数据库模型的方法

Django里面集成了SQLite的数据库,对于初期研究来说,可以用这个学习。第一步,创建数据库就涉及到建表等一系列的工作,在此之前,要先在cmd执行一个命令:pythonmanage.pymigrate这个命令就看成一个打包安装的命令,它会根据mysite/settings.py的配置安装一系列必要的数据库表第二步,我们要建立一个Model层,修改demo/model.py:fromdjango.dbimportmodelsclassQuestion(m

系统 2019-09-27 17:49:15 2131

Python

【Python3网络爬虫开发实战】3.4-抓取猫眼电影排行

【摘要】本节中,我们利用requests库和正则表达式来抓取猫眼电影TOP100的相关内容。requests比urllib使用更加方便,而且目前我们还没有系统学习HTML解析库,所以这里就选用正则表达式来作为解析工具。1.本节目标本节中,我们要提取出猫眼电影TOP100的电影名称、时间、评分、图片等信息,提取的站点URL为http://maoyan.com/board/4,提取的结果会以文件形式保存下来。2.准备工作在本节开始之前,请确保已经正确安装好了r

系统 2019-09-27 17:48:56 2131

Python

Python实现的百度站长自动URL提交小工具

URL提交是百度提供的一个站长工具,用于给站长提供手工收录某些URL的接口,但是该接口有验证码识别部分,比较难弄。所以编写了如下程序进行验证码自动识别:主要思路获取多个验证码,提交到http://lab.ocrking.com/进行多次识别,然后计算每个验证码图片识别出来的字母或数字进行统计,得出统计率最高的即为验证码。复制代码代码如下:#!/usr/bin/envpython#-*-coding:utf-8-*-importrequestsimportt

系统 2019-09-27 17:48:10 2131

Python

Python使用稀疏矩阵节省内存实例

推荐系统中经常需要处理类似user_id,item_id,rating这样的数据,其实就是数学里面的稀疏矩阵,scipy中提供了sparse模块来解决这个问题,但scipy.sparse有很多问题不太合用:1、不能很好的同时支持data[i,...]、data[...,j]、data[i,j]快速切片;2、由于数据保存在内存中,不能很好的支持海量数据处理。要支持data[i,...]、data[...,j]的快速切片,需要i或者j的数据集中存储;同时,为了

系统 2019-09-27 17:48:09 2131

Python

Python --我的常用函数

昆明地图defkmdt(x):importmatplotlib.pyplotaspltimportjsonwithopen('km.json','rb')asf:data=json.load(f)forfeainrange(len(data['features'])):df=data['features'][fea]['geometry']['coordinates']forf1inrange(len(df)):df1=df[f1]forf2inrange

系统 2019-09-27 17:46:53 2131

Python

Python自定义类中内部函数:__repr__()和__string__

我们在定义Python类时,经常会看到比较好的代码中,都有__repr__和__string__,两个内部函数的定义。但是我一直很少关注它们的区别和具体应用场景。稍微做个小结。1.__foo()__在python中表示__foo__是一个私有private函数,在CookBookpp254中,解释为,该函数不会被子类的相同名称的函数重载。一般地说,类中以“下划线”开头定义的变量或者函数都是私有变量或者内部函数,区别是:1.1单下划线开始的变量或者函数表示非

系统 2019-09-27 17:46:49 2131

Python

Python获取当前脚本文件夹(Script)的绝对路径方法代码

Python脚本有一个毛病,当使用相对路径时,被另一个不同目录下的py文件中导入时,会报找不到对应文件的问题。感觉是当前工作目录变成了导入py文件当前目录。如果你有配置文件的读取操作,然后都放在一个py文件中,而你又用的是相对路径,而且这个py文件在多个不同目录下的py文件中被导入,那就呵呵了。。。还是用绝对路径吧。解决这个问题,可以用绝对路径。当然是自动的绝对路径,而不是每次都手动给前缀赋值,让脚本自动寻找当前文件的绝对路径。此处分享在python下获取

系统 2019-09-27 17:46:48 2131

Python

Python异常处理总结

本文较为详细的罗列了Python常见的异常处理,供大家参考,具体如下:1.抛出异常和自定义异常Python用异常对象(exceptionobject)表示异常情况,遇到错误后,会引发异常。如果异常对象并未被处理或捕捉,程序就会用所谓的回溯(Traceback,一种错误信息)终止执行。①.raise语句Python中的raise关键字用于引发一个异常,基本上和C#和Java中的throw关键字相同,如下所示:#--coding:utf-8--defThorw

系统 2019-09-27 17:46:48 2131

Python

6.Python装饰器

1.开放封闭原则​什么是开放封闭原则?有的同学问开放,封闭这是两个反义词这还能组成一个原则么?这不前后矛盾么?其实不矛盾。开放封闭原则是分情况讨论的。​我们的软件一旦上线之后(比如你的软件主要是多个函数组成的),那么这个软件对功能的扩展应该是开放的,比如你的游戏一直在迭代更新,推出新的玩法,新功能。但是对于源代码的修改是封闭的。你就拿函数举例,如果你的游戏源代码中有一个函数是闪躲的功能,那么你这个函数肯定是被多个地方调用的,比如对方扔雷,对方开枪,对方用刀

系统 2019-09-27 17:45:53 2131

Python

Python 实现堆排序

#堆排序defheap_sort(arr):root=len(arr)//2-1while(root>=0):heap_adjust(arr,root,len(arr)-1)root=root-1#此时生成的大顶堆,满足每个根节点为子树中最大,因此,之后只需要对最顶的子树进行调整i=len(arr)-1whilei>=0:arr[0],arr[i]=arr[i],arr[0]heap_adjust(arr,0,i-1)i=i-1defheap_adjust

系统 2019-09-27 17:45:50 2131

Python

python3字符串操作总结

介绍Python常见的字符串处理方式字符串截取>>>s='hello'>>>s[0:3]'he'>>>s[:]#截取全部字符'hello'消除空格及特殊符号s.strip()#消除字符串s左右两边的空白字符(包括'\t','\n','\r','')s.strip('0')#消除字符串s左右两边的特殊字符(如'0'),字符串中间的'0'不会删除例如:>>>s='000hello00world000'>>>s.strip('0')'hello00world's

系统 2019-09-27 17:45:26 2131