基于Python實(shí)現(xiàn)的戀愛(ài)對(duì)話小程序詳解
導(dǎo)語(yǔ)
哈嘍!大家好~我是木木子啦!自從寫了一些表白類型的一些小腳本、小程序之后,越發(fā)不可收拾了,哈哈哈。
常常會(huì)有小粉絲說(shuō):這......小程序不夠?。偙戆兹チ?,但是被拉黑了。
那我不答應(yīng)了,我得努努力:多多益善給大家開發(fā)一些更有趣的各種各樣的適合表白的小程序!
讓每個(gè)人都爭(zhēng)取過(guò)年帶著對(duì)象回家過(guò)年~嘿嘿嘿
今天,木木子推薦一個(gè)定制表白戀愛(ài)的項(xiàng)目:戀愛(ài)對(duì)話小程序
這個(gè)簡(jiǎn)單的項(xiàng)目,居然還蠻有趣的——如何操作?快來(lái)了解下。
一、小簡(jiǎn)介
turtle:繪圖模塊
PySimpleGUI:彈框制作模塊(一個(gè)非常簡(jiǎn)單好用的Python圖形界面庫(kù)(PysimpleGUI))
1)環(huán)境安裝
本文所用到的環(huán)境:Python3、Pycharm、PySimpleGUI、Turtle、time模塊。
環(huán)境安裝:pip install +模塊名 或帶豆瓣鏡像源pip install -i
https://pypi.douban.com/simple/ +模塊名
二、代碼演示
1)導(dǎo)入模塊
from turtle import * import time import PySimpleGUI as sg
2)倒計(jì)時(shí)
def draw_count_down(i): #倒數(shù) bgcolor('black') speed(0) up() goto(-50,-100) color('white') write(i, align="center",font=('Times New Roman', 200, 'bold')) time.sleep(1)
3)畫2份不同的禮物
def draw_people(): #畫小人 up() fillcolor() begin_fill() color('black','white') goto(-300, 50) # 脖子坐標(biāo) down() circle(75) # 半徑為75的腦袋 end_fill() right(90) forward(175) # 身體的長(zhǎng)度175像素 right(45) forward(100) # 腿長(zhǎng)100像素 up() goto(-300, -120) # 畫另一條腿 down() left(90) forward(100) up() goto(-300, -5) # 手臂坐標(biāo) down() left(45) forward(100) # 第一只手臂長(zhǎng)度 left(45) forward(67) # 手掌長(zhǎng)度 up() goto(-300, -40) # 第二只手臂坐標(biāo) down() right(45) forward(100) # 第二只手臂長(zhǎng)度 right(45) forward(67) up() goto(-330, 155) # 第一只眼睛起始坐標(biāo) down() right(45) forward(50) # 眼睛長(zhǎng)度為50 up() goto(-270, 155) # 第二只眼睛起始坐標(biāo) down() forward(50) up() pencolor('#F39F79') goto(-340,100) #紅臉蛋第一只眼 seth(0) down() backward(40) up() goto(-260, 100) # 紅臉蛋第二只眼 down() forward(40) time.sleep(1) def draw_heart(size): # 畫愛(ài)心 color('red', 'red') down() setheading(150) begin_fill() forward(size) circle(size * -3.745, 45) circle(size * -1.431, 165) left(120) circle(size * -1.431, 165) circle(size * -3.745, 45) forward(size) end_fill() def send_heart(): #發(fā)射愛(ài)心 up() goto(-50, -22) draw_heart(14) up() goto(120, -22) draw_heart(25) penup() goto(305, -22) draw_heart(43) def wr_character(): up() goto(-50,-200) pencolor('black') write('驚', font=('行楷', 60, 'bold')) up() goto(50,-200) write('不', font=('行楷', 60, 'bold')) up() goto(150,-200) write('驚', font=('行楷', 60, 'bold')) up() goto(250,-200) write('喜', font=('行楷', 60, 'bold')) def draw_pupu(): #畫xxxx up() shapesize(10, 2) speed(2) fillcolor() color('#805140','#805140') begin_fill() goto(-50, -20) down() circle(20) end_fill() begin_fill() up() goto(-50, -80) down() circle(40) end_fill() begin_fill() up() goto(10, -110) seth(90) down() circle(60,180) seth(0) forward(120) end_fill()
4)二種選擇是不同的繪圖倒計(jì)時(shí)之后就是繪制你回答的那個(gè)禮物。
def present_good(): #選擇是送的禮物 setup(1000,700) pensize(10) hideturtle() numbers=[5,4,3,2,1] #進(jìn)行倒數(shù) for i in numbers: draw_count_down(i) undo() draw_moon() draw_people() send_heart() wr_character() done() def present_bad(): #選擇不是送的禮物 setup(1000, 700) pensize(10) hideturtle() numbers=[5,4,3,2,1] #進(jìn)行倒數(shù) for i in numbers: draw_count_down(i) undo() draw_moon() draw_people() draw_pupu() wr_character() done()
5)彈窗設(shè)計(jì)的文字(可修改)
layout=[ #彈框內(nèi)容設(shè)計(jì) [sg.Text('請(qǐng)輸入你的名字:')],[sg.Input()], [sg.Text('請(qǐng)回答下面這個(gè)問(wèn)題哦!')], [sg.Text('我是你喜歡的類型嘛?')], [sg.Button('是的是的')],[sg.Button('不是')] ] sg.popup('你好呀!我是你的好朋友為你定制的專屬男朋友','請(qǐng)按OK鍵繼續(xù)') #這是一個(gè)簡(jiǎn)易彈框 time.sleep(1) window=sg.Window('小可愛(ài)',layout) event,value=window.read() window.close() if event == '是的是的': sg.popup(f'{value[0]}請(qǐng)按OK鍵接收男朋友的禮物!?') #這是一個(gè)簡(jiǎn)易彈框 #這里的value[0],是因?yàn)関alue返回內(nèi)容為字典 time.sleep(1) present_good() else: sg.popup(f'{value[0]}竟然對(duì)我有意見,心碎了??!','但你的男友是個(gè)大度的人,送你一個(gè)小禮物吧','請(qǐng)按OK鍵接收我心碎的禮物!') present_bad()
三、效果展示
1)視頻展示
可能視頻的話我錄制的比較粗糙,感覺(jué)有點(diǎn)兒看不清楚!
Turtle系列: 戀愛(ài)對(duì)話小程序之我是你喜歡的類型嘛?
2)截圖展示
2.1 彈窗界面
2.2 倒計(jì)時(shí)5秒
2.3這里選擇的是“是的是的”的禮物——選擇“不是”的禮物我就不截圖了,你們自己拿源碼試試 哈哈哈保留懸鏈。選擇不是的話超驚喜滴
以上就是基于Python實(shí)現(xiàn)的戀愛(ài)對(duì)話小程序詳解的詳細(xì)內(nèi)容,更多關(guān)于Python戀愛(ài)對(duì)話小程序的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Python高級(jí)應(yīng)用實(shí)例對(duì)比:高效計(jì)算大文件中的最長(zhǎng)行的長(zhǎng)度
在操作某個(gè)很多進(jìn)程都要頻繁用到的大文件的時(shí)候,應(yīng)該盡早釋放文件資源(f.close()),只有這樣才能算是一則高效率的代碼,下面我們就來(lái)分析下這3種方法的優(yōu)劣2014-06-06關(guān)于pycharm 切換 python3.9 報(bào)錯(cuò) ‘HTMLParser‘ object has no attribu
這篇文章主要介紹了pycharm 切換 python3.9 報(bào)錯(cuò) ‘HTMLParser‘ object has no attribute ‘unescape‘ 解決,需要的朋友可以參考下2020-11-11cmd運(yùn)行python文件時(shí)對(duì)結(jié)果進(jìn)行保存的方法
今天小編就為大家分享一篇cmd運(yùn)行python文件時(shí)對(duì)結(jié)果進(jìn)行保存的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-05-05在 Windows 下搭建高效的 django 開發(fā)環(huán)境的詳細(xì)教程
這篇文章主要介紹了如何在 Windows 下搭建高效的 django 開發(fā)環(huán)境,本文通過(guò)一篇詳細(xì)教程實(shí)例代碼相結(jié)合給大家講解的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-07-07Python?ChineseCalendar包主要類和方法詳解
ChineseCalendar?是一個(gè)?Python?包,用于獲取中國(guó)傳統(tǒng)日歷信息。這個(gè)包提供了中國(guó)農(nóng)歷、二十四節(jié)氣、傳統(tǒng)節(jié)日、黃歷等信息,這篇文章主要介紹了Python?ChineseCalendar包簡(jiǎn)介,需要的朋友可以參考下2023-03-03Python3 ID3決策樹判斷申請(qǐng)貸款是否成功的實(shí)現(xiàn)代碼
這篇文章主要介紹了Python3 ID3決策樹判斷申請(qǐng)貸款是否成功的實(shí)現(xiàn)代碼,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-05-05mysql 之通過(guò)配置文件鏈接數(shù)據(jù)庫(kù)
這篇文章主要介紹了mysql 之通過(guò)配置文件鏈接數(shù)據(jù)庫(kù)的相關(guān)資料,主要是一個(gè)單例餓漢式的獲得數(shù)據(jù)庫(kù)連接方法工具類的實(shí)現(xiàn),需要的朋友可以參考下2017-08-08