用 Python 向你比個心

0 前言

以前寫了一篇用 Python 畫一個小豬佩奇和哆啦 A 夢,而後最近看到有人用 turtle 畫了一個心,以爲挺有意思的,因而把代碼複製到本地,再加了個播放音樂。css

1 環境說明

Win10 系統下 Python3,編譯器是 Pycharm 。turtle 和 time 是 Python 自帶的模塊,不用辛苦安裝;pygame 能夠直接用 pip install pygame 安裝,要是不知道該怎麼安裝,那仍是用 Pycharm 安裝吧。
html

一
二

2 實現

代碼有點多,因此是分開來,用的時候按順序複製就好。python

先導入要用的庫git

import pygame
import time
import turtle as t
複製代碼

而後是播放音樂的功能,這裏記得要把文件的路徑修改一下github

file = 'G:\years.mp3'  # mp3 的路徑
pygame.mixer.init()  # 初始化音頻
track = pygame.mixer.music.load(file)  # 載入音樂文件
pygame.mixer.music.play()  # 開始播放
複製代碼

turtle 的設置,背景色和顏色能夠使用 #bf360c 或者 red 來替換顏色,具體的顏色喜歡哪一個就用哪一個,看着舒服和好看就行。app

t.title('dalao 帶帶我')  # 設置標題欄文字
t.hideturtle()  # 隱藏箭頭
t.getscreen().bgcolor('#f0f0f0')  # 背景色
t.color('#c1e6c6''red')  # 設置畫線顏色、填充顏色,能夠直接寫 green,也能夠用 #c1e6c6
t.pensize(2)  # 筆的大小
t.speed(2)  # 圖形繪製的速度,1~10
t.up()  # 移動,不畫線
t.goto(0-150)
複製代碼

下面這裏開始畫愛心ide

t.down()  # 移動,畫線
t.begin_fill()  # 開始填充
t.goto(0-150)
t.goto(-175.12-8.59)
t.left(140)
pos = []
for i in range(19):
    t.right(10)
    t.forward(20)
    pos.append((-t.pos()[0], t.pos()[1]))
for item in pos[::-1]:
    t.goto(item)
t.goto(175.12-8.59)
t.goto(0-150)
t.left(50)
t.end_fill()  # 結束填充,顯示填充效果
複製代碼

這裏開始寫字,t.goto(0, 220) 的意思是箭頭前往到這個位置,(0, 0) 是中心。字體

(x, y),x 是左右,正數爲右,負數爲左;y 是上下,正數爲上,負數爲下。spa

字體能夠修改,黑體、方正舒體、華文琥珀等等,找一個合適的就好。code

t.color("black")  # 設置顏色
t.up()
t.goto(0220)
t.write("大佬,帶帶我~", font=(u"方正舒體"36"normal"), align="center")
t.goto(200-250)
t.write('by 僞君子', font=(u"方正舒體"10"bold"))
複製代碼

結束,若是下面的代碼註釋掉 t.done() 的話,那麼結束播放音樂後就會自動退出;若是不註釋的話,運行完代碼會停留在畫圖的界面,音樂播放到結束設置好的時間就結束。

這裏看你喜歡,我我的是喜歡播放到必定時間就自動退出,因此我註釋掉了。

time.sleep(10)  # 畫完後再播放 10 秒音樂,能夠修改時間
pygame.mixer.music.fadeout(100)  # 中止播放
#t.done()
複製代碼

錄製了一個 gif 作示範

3 相關說明

源代碼是在知乎專欄那看見的,這裏複製下來進行了修改和添加。

連接:zhuanlan.zhihu.com/p/38448462(點擊閱讀原文)

題圖:Photo by Erik Witsoe on Unsplash

相關文章
相關標籤/搜索