python练习
文章平均质量分 62
努力学python的设计师
这个作者很懒,什么都没留下…
展开
-
【PyQt5】教你一招,用timer计时器做个打地鼠的小游戏
最近在做项目的时候,需要对界面进行不断的刷新操作,在一定的时间内连续触发某个函数,按照之前Python里的思路,第一反应是用time函数,但实际的效果并不好,经常会卡住,后来尝试用pyqt5里自带的计时器,这个问题完美解决。做完项目顺边开了开脑洞,既然可以即时刷新,那么自然可以利用这一点设计个小游戏,比如打地鼠,废话不多说,先上效果!**(文末有素材和完整代码)**码字不易,喜欢请三联!不着急动手做,先来聊聊原理性的知识!一、关于Timer计时器PyQt5中自带的timer计时器,是一种固定间隔原创 2021-09-06 21:33:00 · 2852 阅读 · 3 评论 -
【Python心得】解决PyQt5 UI更新同步问题
我们在使用Pyqt5制作UI过程中,通常的流程是:1.用Qt designer 设计好UI界面2.使用PyUIC将UI文件转换成py文件3.导入启动部分的代码但在实际使用过程中,我们经常会反复的调试UI界面,而每次重新生成py文件之后,如果我们在之前的同一个文件下编写代码,则会丢失这部分内容,为了解决这一点,利用python模块导入的思路,我们可以把UI生成的py文件作为一个模块,引用到新的文件中,在新的文件中只调用,关于槽函数等其他操作在新的文件中编写,这样就可以完美的解决代码重新生成的问题。自原创 2021-01-09 09:03:35 · 3484 阅读 · 1 评论 -
【python练习】Pyqt5 lineEdit输入后自动跳转
最近在软件定制过程中,碰到一个需求,在lineEdit输入完成后,客户希望自动跳转到下一个对话框,在常规的槽函数用,通常我们可以用tab或者回车进行操作,将焦点直接设置到下一个输入框就可以,但却无法实现自动跳转,比如下图所示,是可以直接跳转的,为了实现上面的需求,无意中发现可以textChange()方法过渡,也就是说每次输入框内容发生变化时,调用函数,只要达到输入完成的条件,就可以直接跳转到下一个输入框。比如我这次需求,输入框限定输入0-9十个数字,所以可以直接定义槽函数如下即可:self.line原创 2020-12-17 13:25:53 · 2839 阅读 · 0 评论 -
【python实例分析】docx模块-利用word样式表style简化代码
最近在做一个定制的时候,碰到了一个需求,需要用固定的格式输出到word中,第一反应就是用docx模块,但在实际应用中,碰到的问题是需要反复的更换样式,比如下面的例子:一段话中出现的多个不同的格式,字体不用,字号不同,间距不同,当然,我们可以通过代码进行设置,针对数量比较少的内容没有问题,但自己的需求是要批量输出,且格式较多,这样需要设置的代码就非常的多,且存在重复代码。面对这样的问题,我在无意中注意到写入文字两个方法,如下:doc.add_paragraph("要添加的文字")#添加段落parag原创 2020-12-17 12:10:10 · 1355 阅读 · 2 评论 -
【python实例】爬虫中HTML与中文的相互转化
我们在输入关键词进行爬取时,如果输入的是英文或者数字,通常都没有什么问题,但如果输入的是中文,因为编码的问题,通常会出现无法解码的错误。比如我们的关键词输入的是“风险”,但实际显示是KW后面的代码确实%B7%E7%CF%D5,所以如果我们想要进行中文的搜索,就需要对中文进行转换,通常需要用到urllib模块代码如下:import urllib.parse#Html代码中文转代码,和代码转中文ss1 ='%B7%E7%CF%D5'print(urllib.parse.unquote(ss1,原创 2020-10-17 16:32:01 · 907 阅读 · 0 评论 -
【Python实例分析】批量生成海报--自动添加姓名和二维码
最近参加了老男孩的一个python训练营,里面某项任务是要求在某个海报模板上批量添加姓名和二维码,生成类似下图的海报。图中我用红色方框标记的是需要修改的地方,先来聊下自己的思路:1.要进行图片操作,要用到pillow模块,可以直接进行文字的添加和图片的合成2.生成二维码可以用qrcode模块3.比较麻烦和没有头绪的是怎么去对文字定位,最后借助了PS,下文具体表述。第一步:因为自己会点PS,所以先对原图进行了修改,将二维码和姓名直接删掉,没有PS的小伙伴直接用手机上的软化也可以完成,之后保存为海原创 2020-10-12 15:57:20 · 4274 阅读 · 9 评论 -
【python小技巧】关于python中的字符对齐-ljust(),rjust(),center(),format()走一波
在我们需要输出内容的时候,为了页面的美观,常常需要进行格式化的输出,特别是对齐方式,最常用的对齐方法,或许是ljust(),rjust(),center()这三个吧。ljust():返回一个原字符串左对齐,并使用空格(或指定字符)填充至指定长度的新字符串。如果指定的长度小于原字符串的长度则返回原字符串rjust():类似左对齐,为右对齐方式center():类似左右对齐,为居中对齐语法如下:str.ljust(要填充的字符个数,要填充的字符)实例如下:text ='我是标题'print(te原创 2020-08-22 15:26:07 · 777 阅读 · 0 评论 -
【python小技巧】startwith和endwith的文本匹配技巧
当我们需要对文本的开头或者结尾进行文字匹配的时候,通常会用到startwith和endwith两个方法,运行结果返回True或者Flase,可以用于判断,但有时我们需要的不仅仅是布尔值的判断结果,还会需要更多的数据,下面以endwith为例,介绍下这两个方法的使用技巧!**语法**endswith()方法语法:str.endwith(str, beg=0,end=len(string));**参数str – 检测的字符串。strbeg – 可选参数用于设置字符串检测的起始位置。stre原创 2020-05-26 17:03:48 · 1655 阅读 · 0 评论 -
【python小技巧】字典的值比较大小及字典的排序
我们在对字典进行操作时,比如要比较大小或者排序这些操作,对于字典的键是可以的,但无法对值进行直接操作,比如下面的字典,price={ 'apple':20.59, 'BERKSHIRE':280000, 'amazon':296, 'alibaba':365}假设某个字典中存储了一些股票的价格,我们要筛选出价格最高的或者最低的股票,我们可以找出最低的价格,比...原创 2020-04-23 22:27:09 · 12957 阅读 · 0 评论 -
【python小技巧】并发中的'lock'---模拟买票的数据延迟问题
场景:我们在买票过程中,通常第一步先查找还有多少余票,然后点击购买,购买后,余票的数量-1,实际情况中是会有多人同时买票,其实就是一个并发的过程,但这个过程中,因为并发的子进程在读取数据,修改回填的过程中,可能会因为出现的延迟,造成数据的错误,比如这个例子,我们可以模拟20个人同时买票,设计1张余票,代码如下:from multiprocessing import Processfrom mu...原创 2020-04-02 12:01:39 · 169 阅读 · 0 评论 -
【python小技巧】并发中的守护进程---应用于主进程代码执行完成后,子进程同时结束的场景
当我们使用并发编程时,主进程会随着子进程的结束而结束,但子进程却不会随着主进程的结束同时结束,比如下面的测试代码,from multiprocessing import Processimport timedef func(): while 1: time.sleep(0.5) print('我在运行')if __name__=='__main__...原创 2020-04-02 10:37:07 · 500 阅读 · 0 评论 -
【python】模拟淘宝的客服自动回复系统-socket,json,time模块的应用
最近在研究soctet模块的过程中,尝试做个小的练习,第一反应是做个类似qq或者微信的即时聊天,这个需求相对比较简单,采用UDP协议很快就可以实现,为了提高点难度,于是决定尝试模拟淘宝的自动回复功能,决定要实现以下几个功能:1.客户端输入问题,抓取关键词后自动回复2.关键词的回复,也就是话术的内容,放到txt文档中,可以根据固定的格式增删改查,比如在txt文档中增加或者减少内容,代码执行...原创 2020-03-27 11:33:52 · 4893 阅读 · 2 评论 -
【python小练习】彩票系列-大乐透
今天的彩票系列练习是体彩的大乐透,前几天分别做了3D福彩,双色球和七乐彩的练习,链接如下,仅供大家参考。【python小练习】彩票系列-福彩3D【python小练习】彩票系列-双色球【python小练习】彩票系列-七乐彩说实话,随着python的不断学习,越来越深刻的感受到编程的魅力,比如自己刚学会编程的时候,只会用列表,for循环去写代码,碰到彩票的问题,第一反应就是往列表里面去添加元素...原创 2020-03-26 10:46:38 · 2478 阅读 · 0 评论 -
【python小练习】彩票系列-双色球
昨天写了福彩3D的代码,有兴趣的可以翻翻下面的链接。【python小练习】彩票系列-福彩3D今天写个双色球的吧,先说说思路。1.定义一个空列表red,从1-33中生成随机数,如果不在red中,就添加进去,while循环直到元素有6个停止。2.从1-16中生成随机蓝球3.用zfill格式化输出即可代码如下:import randomprint('*'*6+'福彩双色球'+'*'*6)...原创 2020-03-24 12:03:08 · 1503 阅读 · 0 评论 -
【python小练习】彩票系列-福彩3D
之前写过一篇帖子怎么生成福彩3D的号码,并且产生中奖号码,并判断是否中奖,用的思路就是生成随机数,然后添加到列表中打印。具体的链接如下,供大家参考:python练习题】随机生成福彩3D号码,模拟开奖并判断是否中奖如果不进行判断,仅仅是输入结果的话,其实还有更简单的方法,就是用zfill()方法。zfill(width):指定字符串的长度。原字符串右对齐,前面填充0。width:要指定的字符...原创 2020-03-23 09:30:19 · 3018 阅读 · 0 评论 -
【python练习】生成不连续范围的随机数以及生成随机验证码
今天做练习的时候碰到这样一个需求:生成随机的5位验证码,以及后续的输入验证,相对后面的验证比较简单,就不赘述了。要求验证码由数字、字母组成,位置不固定。思路:1.由ascii码转换成数字和字母,用到chr()方法2.数字的ascii码范围是48-57,大写字母是65-90,小写字母是97-1223.用随机函数random生成的范围是单个的,所以考虑用2个随机函数嵌套,第一层生成1-...原创 2020-03-07 10:12:45 · 1626 阅读 · 0 评论 -
【python练习题】利用生成器实现对文件输入的监听及过滤
练习题:当文件保存时,对当前保存的内容进行抓取,比如函数运行时,先对所有的内容进行读取,文件写入新的内容,保存的同时,抓取新的内容,实现实时的监控!升级版:可仅对对敏感词进行抓取,比如字段中含有python,则进行抓取,否则不抓取思路:1.定义一个生成器函数,先读取文件内容2.如果读取的内容不为空,yield 当前值3.输入内容def tail(file): with ope...原创 2020-02-28 22:49:14 · 158 阅读 · 1 评论 -
【python练习题】利用列表对文件的格式化输出
很多数据在采集之后,数据内容往往很难直接阅读,比如下面的数据是以某种格式排布的一系列格式,我们在读取时,需要转换为可读的形式,比如转换后变成下面的样式思路:1.读取文本中的信息,然后拆分添加到空的列表中在这里插入代码片with open('log','r',encoding='utf-8') as l: for i in l.readlines(): li.ap...原创 2020-02-27 18:35:46 · 745 阅读 · 0 评论 -
【python练习题】随机生成福彩3D号码,模拟开奖并判断是否中奖
今天学习完,随手练习了下函数的的定义,说说要求:输入要购买彩票的数量,模拟福彩3D的号码的生成,模拟彩票开奖情况,并判断是否中奖,中奖后中奖号码的数量,及中奖金额。说说思路:1.定义生成彩票的函数。随机生成3个0-9的数字,并添加到列表中,生成1个3D号码,再将这个号码添加到总的列表中。def lottery(num): list_sum=[] #定义总的彩票购买池 ...原创 2020-02-24 22:29:56 · 5769 阅读 · 0 评论