高考結束,相信很多小伙伴的都會想在大學找到一個適合的對象,那么你有沒有想過表白用啥方式,相信很多小伙伴都看過程序員大哥用代碼寫的表白程序,當時有沒有想學習編程的沖動呢!相信很多小伙伴會有,那么,今天這邊文章的主題就是教大家如何用python寫出表白程序!
今天用到的是python中的turtle庫,現在就跟著動起手來,為自己心中的女神畫出一顆顆小愛心,來表達出自己滿滿的愛意吧!做完記得給自己心愛的女孩看哦!??
import turtle
import time
# 實現清屏
def clear_screen():
? ? turtle.penup()? ? ? ? ? ? #畫筆抬起
? ? turtle.goto(0,0)? ? ? ? #定位到(0,0)
? ? turtle.color('white')
? ? turtle.pensize(800)? ? ? ? #畫筆粗細
? ? turtle.pendown()? ? ? ? ? #畫筆落下
? ? turtle.setheading(0)? ? ? ? #設置朝向
? ? turtle.fd(300)? ? ? #前進
? ? turtle.bk(600)? ? ? #后退
# 初始化海龜的位置
def go_start(x, y, state):
? ? turtle.pendown() if state else turtle.penup()
? ? turtle.goto(x, y)
#畫線,state為真時海龜回到原點,為假時不回到原來的出發點
def draw_line(length, angle, state):
? ? turtle.pensize(1)
? ? turtle.pendown()
? ? turtle.setheading(angle)
? ? turtle.fd(length)
? ? turtle.bk(length) if state else turtle.penup()
? ? turtle.penup()
# 畫出發射愛心的小人
def draw_people(x, y):
? ? turtle.penup()
? ? turtle.goto(x, y)
? ? turtle.pendown()
? ? turtle.pensize(2)
? ? turtle.color('black')
? ? turtle.setheading(0)
? ? turtle.circle(35, 360)
? ? turtle.penup()
? ? turtle.pensize(3)
? ? turtle.setheading(90)
? ? turtle.fd(45)
? ? turtle.setheading(180)
? ? turtle.fd(20)
? ? turtle.setheading(0)
? ? turtle.fd(35)
? ? turtle.pendown()
? ? turtle.circle(4, 360)
? ? turtle.penup()
? ? turtle.goto(x, y)
? ? turtle.pensize(2)
? ? turtle.setheading(0)
? ? turtle.fd(20)
? ? turtle.setheading(90)
? ? turtle.fd(20)
? ? turtle.setheading(-90)
? ? turtle.pendown()
? ? turtle.circle(5, 180)
? ? turtle.penup()
? ? turtle.goto(x, y)
? ? turtle.setheading(-90)
? ? turtle.pendown()
? ? turtle.fd(20)
? ? turtle.setheading(0)
? ? turtle.fd(35)
? ? turtle.setheading(60)
? ? turtle.fd(10)
? ? turtle.penup()
? ? turtle.goto(x, y)
? ? turtle.setheading(-90)
? ? turtle.pendown()
? ? turtle.fd(40)
? ? turtle.setheading(0)
? ? turtle.fd(35)
? ? turtle.setheading(-60)
? ? turtle.fd(10)
? ? turtle.penup()
? ? turtle.goto(x, y)
? ? turtle.setheading(-90)
? ? turtle.pendown()
? ? turtle.fd(60)
? ? turtle.setheading(-135)
? ? turtle.fd(60)
? ? turtle.bk(60)
? ? turtle.setheading(-45)
? ? turtle.fd(30)
? ? turtle.setheading(-135)
? ? turtle.fd(35)
? ? turtle.penup()
# 畫愛心
def draw_heart(size):
? ? turtle.color('red', 'pink')
? ? turtle.pensize(2)
? ? turtle.pendown()
? ? turtle.setheading(150)
? ? turtle.begin_fill()
? ? turtle.fd(size)
? ? turtle.circle(size * -3.745, 45)
? ? turtle.circle(size * -1.431, 165)
? ? turtle.left(120)
? ? turtle.circle(size * -1.431, 165)
? ? turtle.circle(size * -3.745, 45)
? ? turtle.fd(size)
? ? turtle.end_fill()
# 畫箭羽
def draw_feather(size):
? ? angle = 30? # 箭的傾角
? ? feather_num = size // 6? ? # 羽毛的數量
? ? feather_length = size // 3? ? # 羽毛的長度
? ? feather_gap = size // 10? ? # 羽毛的間隔
? ? for i in range(feather_num):
? ? ? ? draw_line(feather_gap, angle + 180, False)? # 箭柄,不折返
? ? ? ? draw_line(feather_length, angle + 145, True)? # 羽翼,要折返
? ? draw_line(feather_length, angle + 145, False)
? ? draw_line(feather_num * feather_gap, angle, False)
? ? draw_line(feather_length, angle + 145 + 180, False)
? ? for i in range(feather_num):
? ? ? ? draw_line(feather_gap, angle + 180, False)? # 箭柄,不折返
? ? ? ? draw_line(feather_length, angle - 145, True)? ? # 羽翼,要折返
? ? draw_line(feather_length, angle - 145, False)
? ? draw_line(feather_num * feather_gap, angle, False)
? ? draw_line(feather_length, angle - 145 + 180, False)
# 畫一箭穿心,最后箭的頭沒有畫出來,用海龜來代替
def arrow_heart(x, y, size):
? ? go_start(x, y, False)
? ? draw_heart(size * 1.15)
? ? turtle.setheading(-150)
? ? turtle.penup()
? ? turtle.fd(size * 2.2)
? ? draw_heart(size)
? ? turtle.penup()
? ? turtle.setheading(150)
? ? turtle.fd(size * 2.2)
? ? turtle.color('black')
? ? draw_feather(size)
? ? turtle.pensize(4)
? ? turtle.setheading(30)
? ? turtle.pendown()
? ? turtle.fd(size * 2)
? ? turtle.penup()
? ? turtle.setheading(29)
? ? turtle.fd(size * 5.7)
? ? turtle.color('black')
? ? turtle.pensize(4)
? ? turtle.pendown()
? ? turtle.fd(size * 1.2)
#顯示倒數3,2,1
def draw_0(i):
? ? turtle.speed(0)
? ? turtle.penup()
? ? turtle.hideturtle()? # 隱藏箭頭顯示
? ? turtle.goto(-50, -100)
? ? turtle.color('red')
? ? write = turtle.write(i, font=('宋體', 200, 'normal'))
? ? time.sleep(1)
# 顯示文字
def draw_1():
? ? turtle.penup()
? ? turtle.hideturtle()? ? #隱藏箭頭顯示
? ? turtle.goto(-250, 0)
? ? turtle.color('red')
? ? write = turtle.write('臭豬豬,接招', font=('宋體', 60, 'normal'))
? ? time.sleep(2)
# 顯示發射愛心的小人兒
def draw_2():
? ? turtle.speed(3)
? ? draw_people(-250, 20)
? ? turtle.penup()
? ? turtle.goto(-150, -30)
? ? draw_heart(14)
? ? turtle.penup()
? ? turtle.goto(-20, -60)
? ? draw_heart(25)
? ? turtle.penup()
? ? turtle.goto(205, -100)
? ? draw_heart(43)
? ? turtle.hideturtle()
? ? time.sleep(2)
def draw_3():
? ? turtle.penup()
? ? turtle.hideturtle()? # 隱藏箭頭顯示
? ? turtle.goto(-220, 50)
? ? turtle.color('red')
? ? write = turtle.write('??不離', font=('宋體', 60, 'normal'))
? ? turtle.penup()
? ? turtle.goto(0, -50)
? ? write = turtle.write('不棄??', font=('宋體', 60, 'normal'))
? ? time.sleep(2)
# 顯示一箭穿心
def draw_4():
? ? turtle.speed(10)
? ? turtle.penup()
? ? turtle.goto(-210, -200)
? ? turtle.color('blue')
? ? turtle.pendown()
? ? turtle.write('YRB? ? ? CQZ', font=('wisdom', 50, 'normal'))
? ? turtle.speed(1)
? ? turtle.penup()
? ? turtle.color("red")
? ? turtle.goto(-31, -200)
? ? turtle.write('?',font=('wisdom', 50, 'normal'))
? ? arrow_heart(20, -60, 51)
? ? turtle.showturtle()
number=[3,2,1]? ? #儲存顯示界面倒數數字1,2,3
if __name__ == '__main__':
? ? turtle.setup(900, 500)? ? #調畫布的尺寸
? ? for i in number:
? ? ? ? draw_0(i)
? ? ? ? clear_screen()
? ? draw_1()
? ? clear_screen()
? ? draw_2()
? ? clear_screen()
? ? draw_3()
? ? clear_screen()
? ? draw_4()
? ? turtle.done()
ps:用著代碼表白成功了,記得回來給我一個一鍵三連,嘻嘻嘻,有什么更好的方法可以在評論區一起分享。
上述便是所需要敲出來的代碼了。到此文章即將結束,如果各位客官心里有喜歡的人了,記得跟她說出來呀。喜歡是要說出來的,而不是默默的藏在心里。
最近看了幾遍大魚海棠,其中有一句臺詞,我感覺放在這很適用——人生是一場旅程。我們經歷了幾次輪回,才換來這個旅程。而這個旅程很短,因此不妨大膽一些,不妨大膽一些去愛一個人,去攀一座山,去追一個夢……有很多事我都不明白。但我相信一件事。上天讓我們來到這個世上,就是為了讓我們創造奇跡。