Python微項目分享之情話多說一點

Python微項目分享之情話多說一點

作者:JiawuZhang
出品:JiawuLab(ID:jiawulab)

微項目系列是JiawuLab原創欄目,每期選取一個自創項目或發現有趣的項目,進行代碼、邏輯分析,達到python學習目的。

大家好,我是JiawuZhang,本期微項目是——情話多說一點。

上期分享的微項目——幸運球抽獎,您看過嗎?如果感興趣,傳送門:Python微項目分享之幸運球抽獎

王心凌-愛你.mp33:39

來自JiawuZhang

“情話多說一點,想我就多看一眼”

一首節奏歡快的情歌,開始我們今天的項目。

有人說代碼是冰冷的,其實寫代碼背後的人是很溫暖的,

所以本期,我們來讓代碼有點溫度——一個會說情話的項目

收集情話

為了這個項目,我收集了很多的情話,然後保存在數據庫中,方便我們來調用。

還記得怎麼在數據庫中增加數據嗎?如果不記得了,可看看 我的公眾號開發第三期文章。

這裡提一下重要的 SQL代碼,其他代碼直接按照之前的操作即可:

1、新建一個數據表love,表中reply字段,用於保存情話

Python微項目分享之情話多說一點

2、增加情話的方法,下面是代碼方式,或可視化軟件增加

sql = 'insert into love(reply) values('你笑起來真像好天氣。');'

3、多條數據可以用文本“txt”導入,下面放上導入文本方式

Python微項目分享之情話多說一點

代碼解決一下:因為文本每行後面都會有換行符,所以需要做處理,這裡用到“strip()”方法,可直接去掉後面換行符

將得到的data再配合第二步的SQL語句,就能批量導入了。

開始項目

數據得到了,現在就來分析一下怎麼來完成項目呢?

我希望每次都能隨機數據庫中的某一條,然後顯示給我們,這樣每次都能不一樣。

正好用到上期微項目中的隨機數模塊——random

前面用到的是"random.randint(1,5)",是隨機取整數,而我們這裡都是列表,就不能用了

就得換個方式,這裡用"random.choice(list)",這是從列表中隨機取出某一項。

當我給程序發送,“幫我想一句情話”,程序就從數據庫中調取數據,然後使用隨機方式選出一條情話給我

從數據庫中調取數據,又用到了之前的知識點,利用“pymysql”來連接數據庫後操作

我們來分步操作:

1、連接數據庫

Python微項目分享之情話多說一點

2、提取數據庫中所有情話,這裡提取出來的是元組形式

Python微項目分享之情話多說一點

3、從所有情話中,隨機取出一條來

Python微項目分享之情話多說一點

4、當我們發送“幫我想一句情話”,程序給我一條回覆,這裡需要用到“input”

Python微項目分享之情話多說一點

分段都做好了,現在我們來將代碼完善,並且把整個體驗增加一下,形成一個完整的功能

並且我們將其中從數據庫提取數據的部分轉為函數方式,這樣方便以後調用及後期的改寫

完整版如下:

Python微項目分享之情話多說一點

我們來測試一下:

Python微項目分享之情話多說一點

是不是被情話,甜到了,哈哈。。。

如果你心動了,也可以動手試試,讓代碼更溫暖。

如果覺得太麻煩,我已經將這個功能改造後,放在我的公眾號中

只需要你回覆“情話多說一點”,就能回覆您喜歡的情話,如下圖:

Python微項目分享之情話多說一點

找到你喜歡的情話,發送給你喜歡的人,

在這個溫度還不太冷,陽光還很溫暖的日子裡,多麼美好的事兒。

本次的微項目——情話多說一點——分享結束。如果您喜歡這期文章,請麻煩點贊,支持一下。

歡迎您關注我,或者給我留言,說說你遇到的問題,我們一起探討。

Python微項目分享之情話多說一點


分享到:


相關文章: