作者:JiawuZhang
出品:JiawuLab(ID:jiawulab)
微项目系列是JiawuLab原创栏目,每期选取一个自创项目或发现有趣的项目,进行代码、逻辑分析,达到python学习目的。
大家好,我是JiawuZhang,本期微项目是——情话多说一点。
上期分享的微项目——幸运球抽奖,您看过吗?如果感兴趣,传送门:Python微项目分享之幸运球抽奖
王心凌-爱你.mp33:39
来自JiawuZhang
“情话多说一点,想我就多看一眼”
一首节奏欢快的情歌,开始我们今天的项目。
有人说代码是冰冷的,其实写代码背后的人是很温暖的,
所以本期,我们来让代码有点温度——一个会说情话的项目。
收集情话
为了这个项目,我收集了很多的情话,然后保存在数据库中,方便我们来调用。
还记得怎么在数据库中增加数据吗?如果不记得了,可看看 我的公众号开发第三期文章。
这里提一下重要的 SQL代码,其他代码直接按照之前的操作即可:
1、新建一个数据表love,表中reply字段,用于保存情话
2、增加情话的方法,下面是代码方式,或可视化软件增加
sql = 'insert into love(reply) values('你笑起来真像好天气。');'
3、多条数据可以用文本“txt”导入,下面放上导入文本方式
代码解决一下:因为文本每行后面都会有换行符,所以需要做处理,这里用到“strip()”方法,可直接去掉后面换行符
将得到的data再配合第二步的SQL语句,就能批量导入了。
开始项目
数据得到了,现在就来分析一下怎么来完成项目呢?
我希望每次都能随机数据库中的某一条,然后显示给我们,这样每次都能不一样。
正好用到上期微项目中的随机数模块——random
前面用到的是"random.randint(1,5)",是随机取整数,而我们这里都是列表,就不能用了
就得换个方式,这里用"random.choice(list)",这是从列表中随机取出某一项。
当我给程序发送,“帮我想一句情话”,程序就从数据库中调取数据,然后使用随机方式选出一条情话给我
从数据库中调取数据,又用到了之前的知识点,利用“pymysql”来连接数据库后操作
我们来分步操作:
1、连接数据库
2、提取数据库中所有情话,这里提取出来的是元组形式
3、从所有情话中,随机取出一条来
4、当我们发送“帮我想一句情话”,程序给我一条回复,这里需要用到“input”
分段都做好了,现在我们来将代码完善,并且把整个体验增加一下,形成一个完整的功能
并且我们将其中从数据库提取数据的部分转为函数方式,这样方便以后调用及后期的改写
完整版如下:
我们来测试一下:
是不是被情话,甜到了,哈哈。。。
如果你心动了,也可以动手试试,让代码更温暖。
如果觉得太麻烦,我已经将这个功能改造后,放在我的公众号中
只需要你回复“情话多说一点”,就能回复您喜欢的情话,如下图:
找到你喜欢的情话,发送给你喜欢的人,
在这个温度还不太冷,阳光还很温暖的日子里,多么美好的事儿。
本次的微项目——情话多说一点——分享结束。如果您喜欢这期文章,请麻烦点赞,支持一下。
欢迎您关注我,或者给我留言,说说你遇到的问题,我们一起探讨。