<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
實現本文效果的整體思路是:載入庫—選擇背景音樂—繪製心的外輪廓—填充心並寫告白信—繪製心動線。
# -*- coding: UTF-8 -*- ''' 程式碼用途 :情人節表白 作者 :阿黎逸陽 部落格 : https://blog.csdn.net/qq_32532663/article/details/106176609 ''' import os import pygame import turtle as t
本文應用到的庫較少,只應用了os、pygame和turtle三個庫。
os庫可以設定檔案讀取的位置。
pygame庫是為了繪製過程更有趣,在繪圖過程中新增了背景音樂,如果無需背景音樂,不用載入該庫。
turtle庫是繪相簿,相當於給你一支畫筆,你可以在畫布上用數學邏輯控制的程式碼完成繪圖。
接著應用pygame庫播放背景音樂,本文的音樂是《 瞬間的永恆》。
#播放音樂 print('播放音樂') pygame.mixer.init() pygame.mixer.music.load(r"F:公眾號520趙海洋 - 《瞬間的永恆》夜色鋼琴曲.mp3") pygame.mixer.music.set_volume(0.5) pygame.mixer.music.play(1, 10)
這一部分的程式碼和整體程式碼是剝離的,可以選澤在最開始放上該程式碼,也可以直接刪除。如果選擇播放音樂,需要在程式碼music.load函數中把你想放音樂的地址填進去。
然後繪製心的外輪廓,程式碼如下:
t.title('阿黎逸陽的程式碼公眾號') t.speed(10) #t.screensize(1000, 800) t.setup(startx=0, starty = 0, width=800, height = 600) t.hideturtle() print('畫愛心') #畫愛心 def heart(x, y): t.penup() t.goto(x, y) t.pendown() t.color('pink') t.setheading(50) t.circle( -5, 180) t.circle( -45, 12) t.setheading(130) t.circle( -45, 12) t.circle( -5, 180) heart(-30, 155) heart(-220, 145) heart(-210, 60) heart(-100, 100) heart(-20, 20) heart(-70, 130) heart(-140, -20) heart(30, 100) heart(-60, -20) heart(10, 60) heart(-100, -70) heart(20, 145) heart(-140, -20) heart(-130, 130) heart(-180, 20) heart(-170, 155) heart(-230, 100)
關鍵程式碼詳解:
t.penup():擡起畫筆,一般用於另起一個地方繪圖使用。
t.goto(x,y):畫筆去到某個位置,引數為(x,y),對應去到的橫座標和縱座標。
t.pendown():放下畫筆,一般和penup組合使用。
t.color(color):設定畫筆的顏色。
t.setheading(θ):設定海龜頭與橫座標偏離的度數。
t.circle(radius,extent,steps):radius指半徑,若為正,半徑在小烏龜左側radius遠的地方,若為負,半徑在小烏龜右側radius遠的地方;extent指弧度;steps指階數。畫外輪廓的關鍵是:通過調節circle函數中的半徑和弧度來調節曲線的弧度,從而使得小蜜蜂的輪廓比較流暢。
接下來邊填充心,邊寫告白信,程式碼如下:
def write_mes(x, y, size, ss): t.hideturtle() t.penup() t.goto(x, y) t.pendown() t.pencolor('black') t.write(ss, font=('Times New Roman', size, 'normal')) #畫紅心 print('畫紅心') def heart_fill(x, y): t.penup() t.goto(x, y) t.pendown() t.color('red', 'red') t.begin_fill() t.setheading(50) t.circle( -5, 180) t.circle( -45, 12) t.setheading(130) t.circle( -45, 12) t.circle( -5, 180) t.end_fill() x = 90 y = 110 #右邊愛心 write_mes(x, y, 11, '喜 歡 你 的 每 一 天') heart_fill(-100, 100) heart_fill(-70, 130) heart_fill(-30, 155) heart_fill(20, 145) heart_fill(30, 100) write_mes(x, y-30, 11, '愛 意 不 曾 退 減') heart_fill(10, 60) heart_fill(-20, 20) heart_fill(-60, -20) heart_fill(-100, -70) #左邊愛心 write_mes(x, y-30*2, 11, '時 光 不 曾 走 遠') heart_fill(-140, -20) heart_fill(-180, 20) heart_fill(-210, 60) heart_fill(-230, 100) write_mes(x, y-30*3, 11, '幸 福 延 續 到 明 天') heart_fill(-220, 145) heart_fill(-170, 155) heart_fill(-130, 130) write_mes(x, y-30*4, 11, '永 遠 不 說 再 見')
最後是寫姓名並畫心動線,程式碼如下:
t.speed(15) print('畫心動線') def heart_bit(): #畫心動線 t.penup() t.goto(-170, 40) t.pendown() t.pencolor('red') t.setheading(0) t.pensize(2) t.forward(10) #第一個小波浪 t.setheading(45) t.circle(50, 10) t.setheading(0) t.circle(-3,90) t.circle(50, 5) #橫線 t.setheading(0) t.forward(10) #第一個下尖峰 t.setheading(-80) t.forward(7) t.setheading(70) t.forward(25) t.setheading(-85) t.forward(29) t.setheading(70) t.forward(13) t.setheading(0) t.forward(15) #畫心 t.setheading(150) t.circle(-20, 40) t.circle(-10, 170) t.setheading(70) t.circle(-10, 170) t.circle(-20, 40) t.setheading(0) t.forward(15) #2 t.setheading(-80) t.forward(7) t.setheading(70) t.forward(25) t.setheading(-85) t.forward(29) t.setheading(70) t.forward(13) t.setheading(0) t.forward(15) t.setheading(0) t.forward(10) t.setheading(45) t.circle(50, 10) t.setheading(0) t.circle(-3,90) t.circle(50, 5) t.setheading(0) t.forward(10) def write_name(x, y, size, ss): t.hideturtle() t.penup() t.goto(x, y) t.pendown() t.pencolor('black') t.write(ss, font=('Times New Roman', size, 'normal')) def undo_back(): t.undo() t.undo() t.undo() t.undo() t.undo() t.undo() t.undo() t.undo() t.undo() t.undo() def undo_back2(): t.undo() t.undo() def name_heart_bit(): #寫兩個人的姓名(需替換成真實姓名) write_name(-180, 70, 11, '韓商言') write_name(-180, 70, 11, '韓商言') write_name(-180, 70, 11, '韓商言') heart_bit() write_name(-60, 70, 11, '佟年') write_name(-60, 70, 11, '佟年') write_name(-60, 70, 11, '佟年') write_name(-60, 70, 11, '佟年') write_name(-60, 70, 11, '佟年') undo_back() undo_back() undo_back() undo_back() undo_back() undo_back() undo_back() undo_back() undo_back() undo_back2() while 1: name_heart_bit()
到此這篇關於基於Python繪製520表白程式碼的文章就介紹到這了,更多相關Python表白內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45