欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

基于Python繪制520表白代碼

 更新時(shí)間:2022年05月16日 08:41:56   作者:阿黎逸陽  
這周五就是520,大家都準(zhǔn)備好送給女朋友的禮物了嗎?快來利用Python編寫個(gè)表白代碼送給她吧!文中示例代碼講解詳細(xì),跟隨小編一起動(dòng)手試一試吧

一、繪制成品

二、繪制代碼

實(shí)現(xiàn)本文效果的整體思路是:加載庫—選擇背景音樂—繪制心的外輪廓—填充心并寫告白信—繪制心動(dòng)線。

1.導(dǎo)入庫

# -*- coding: UTF-8 -*-
'''
代碼用途 :情人節(jié)表白
作者     :阿黎逸陽
博客     :  https://blog.csdn.net/qq_32532663/article/details/106176609
'''
import os
import pygame
import turtle as t

本文應(yīng)用到的庫較少,只應(yīng)用了os、pygame和turtle三個(gè)庫。

os庫可以設(shè)置文件讀取的位置。

pygame庫是為了繪制過程更有趣,在繪圖過程中添加了背景音樂,如果無需背景音樂,不用加載該庫。

turtle庫是繪圖庫,相當(dāng)于給你一支畫筆,你可以在畫布上用數(shù)學(xué)邏輯控制的代碼完成繪圖。

2.選擇背景音樂

接著應(yīng)用pygame庫播放背景音樂,本文的音樂是《 瞬間的永恒》。

#播放音樂
print('播放音樂')
pygame.mixer.init()
pygame.mixer.music.load(r"F:\公眾號(hào)\520\趙海洋 - 《瞬間的永恒》夜色鋼琴曲.mp3") 
pygame.mixer.music.set_volume(0.5) 
pygame.mixer.music.play(1, 10)

這一部分的代碼和整體代碼是剝離的,可以選澤在最開始放上該代碼,也可以直接刪除。如果選擇播放音樂,需要在代碼music.load函數(shù)中把你想放音樂的地址填進(jìn)去。

3.繪制心的外輪廓

然后繪制心的外輪廓,代碼如下:

t.title('阿黎逸陽的代碼公眾號(hào)')
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)

關(guān)鍵代碼詳解:

t.penup():抬起畫筆,一般用于另起一個(gè)地方繪圖使用。

t.goto(x,y):畫筆去到某個(gè)位置,參數(shù)為(x,y),對(duì)應(yīng)去到的橫坐標(biāo)和縱坐標(biāo)。

t.pendown():放下畫筆,一般和penup組合使用。

t.color(color):設(shè)置畫筆的顏色。

t.setheading(θ):設(shè)置海龜頭與橫坐標(biāo)偏離的度數(shù)。

t.circle(radius,extent,steps):radius指半徑,若為正,半徑在小烏龜左側(cè)radius遠(yuǎn)的地方,若為負(fù),半徑在小烏龜右側(cè)radius遠(yuǎn)的地方;extent指弧度;steps指階數(shù)。畫外輪廓的關(guān)鍵是:通過調(diào)節(jié)circle函數(shù)中的半徑和弧度來調(diào)節(jié)曲線的弧度,從而使得小蜜蜂的輪廓比較流暢。 

4.填充心并寫告白信

接下來邊填充心,邊寫告白信,代碼如下:

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, '時(shí) 光 不 曾 走 遠(yuǎn)')
heart_fill(-140, -20)
heart_fill(-180, 20)
heart_fill(-210, 60)
heart_fill(-230, 100)
write_mes(x, y-30*3, 11, '幸 福 延 續(xù) 到 明 天')
heart_fill(-220, 145)
heart_fill(-170, 155)
heart_fill(-130, 130)
write_mes(x, y-30*4, 11, '永 遠(yuǎn) 不 說 再 見')

5.畫心動(dòng)線

最后是寫姓名并畫心動(dòng)線,代碼如下:

t.speed(15)
print('畫心動(dòng)線')
def heart_bit():
    #畫心動(dòng)線
    t.penup()
    t.goto(-170, 40)
    t.pendown()
    t.pencolor('red')
    t.setheading(0)
    t.pensize(2)
    t.forward(10)
    #第一個(gè)小波浪
    t.setheading(45)
    t.circle(50, 10)
    t.setheading(0)
    t.circle(-3,90)
    t.circle(50, 5)
    #橫線
    t.setheading(0)
    t.forward(10)
    #第一個(gè)下尖峰
    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():
    #寫兩個(gè)人的姓名(需替換成真實(shí)姓名)
    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()

到此這篇關(guān)于基于Python繪制520表白代碼的文章就介紹到這了,更多相關(guān)Python表白內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python正則表達(dá)式急速入門(小結(jié))

    Python正則表達(dá)式急速入門(小結(jié))

    這篇文章主要介紹了Python正則表達(dá)式急速入門(小結(jié)),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • 詳解Python中的array數(shù)組模塊相關(guān)使用

    詳解Python中的array數(shù)組模塊相關(guān)使用

    數(shù)組并不是Python中內(nèi)置的標(biāo)配數(shù)據(jù)結(jié)構(gòu),不過擁有array模塊我們也可以在Python中使用數(shù)組結(jié)構(gòu),下面我們就來詳解詳解Python中的array數(shù)組模塊相關(guān)使用
    2016-07-07
  • python3.7中安裝paddleocr及paddlepaddle包的多種方法

    python3.7中安裝paddleocr及paddlepaddle包的多種方法

    這篇文章主要介紹了python3.7中安裝paddleocr及paddlepaddle包,本文通過多種方法給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-11-11
  • python 3.7.4 安裝 opencv的教程

    python 3.7.4 安裝 opencv的教程

    這篇文章主要介紹了python 3.7.4 安裝 opencv的教程,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-10-10
  • drf-router和authenticate認(rèn)證源碼分析

    drf-router和authenticate認(rèn)證源碼分析

    在 Rest Framework 中提供了兩個(gè) router , 可以幫助我們快速的實(shí)現(xiàn)路由的自動(dòng)生成,本文通過實(shí)例代碼給大家介紹drf-router和authenticate認(rèn)證源碼分析,感興趣的朋友跟隨小編一起看看吧
    2021-07-07
  • win10下tensorflow和matplotlib安裝教程

    win10下tensorflow和matplotlib安裝教程

    這篇文章主要為大家詳細(xì)介紹了win10下tensorflow和matplotlib安裝教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-09-09
  • Python實(shí)現(xiàn)樹莓派攝像頭持續(xù)錄像并傳送到主機(jī)的步驟

    Python實(shí)現(xiàn)樹莓派攝像頭持續(xù)錄像并傳送到主機(jī)的步驟

    這篇文章主要介紹了Python實(shí)現(xiàn)樹莓派攝像頭持續(xù)錄像并傳送到主機(jī)的步驟,幫助大家更好的理解和學(xué)習(xí)python,感興趣的朋友可以了解下
    2020-11-11
  • Python學(xué)習(xí)之異常中的finally使用詳解

    Python學(xué)習(xí)之異常中的finally使用詳解

    這篇文章主要為大家介紹一下Python異常語法中的另一個(gè)成員—finally,通過學(xué)習(xí)finally,可以幫助我們更好的處理異常,快來跟隨小編一起學(xué)習(xí)一下吧
    2022-03-03
  • Python數(shù)據(jù)可視化編程通過Matplotlib創(chuàng)建散點(diǎn)圖代碼示例

    Python數(shù)據(jù)可視化編程通過Matplotlib創(chuàng)建散點(diǎn)圖代碼示例

    這篇文章主要介紹了Python數(shù)據(jù)可視化編程通過Matplotlib創(chuàng)建散點(diǎn)圖實(shí)例,具有一定借鑒價(jià)值,需要的朋友可以參考下。
    2017-12-12
  • Python pygame實(shí)現(xiàn)中國象棋單機(jī)版源碼

    Python pygame實(shí)現(xiàn)中國象棋單機(jī)版源碼

    今天給大家?guī)淼氖顷P(guān)于Python實(shí)戰(zhàn)的相關(guān)知識(shí),文章圍繞著用Python pygame實(shí)現(xiàn)中國象棋單機(jī)版展開,文中有非常詳細(xì)的代碼示例,需要的朋友可以參考下
    2021-06-06

最新評(píng)論