作者: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”
分段都做好了,現在我們來將代碼完善,並且把整個體驗增加一下,形成一個完整的功能
並且我們將其中從數據庫提取數據的部分轉為函數方式,這樣方便以後調用及後期的改寫
完整版如下:
我們來測試一下:
是不是被情話,甜到了,哈哈。。。
如果你心動了,也可以動手試試,讓代碼更溫暖。
如果覺得太麻煩,我已經將這個功能改造後,放在我的公眾號中
只需要你回覆“情話多說一點”,就能回覆您喜歡的情話,如下圖:
找到你喜歡的情話,發送給你喜歡的人,
在這個溫度還不太冷,陽光還很溫暖的日子裡,多麼美好的事兒。
本次的微項目——情話多說一點——分享結束。如果您喜歡這期文章,請麻煩點贊,支持一下。
歡迎您關注我,或者給我留言,說說你遇到的問題,我們一起探討。
關鍵字: 隨機 用到 JiawuZhang