python 詳解turtle畫愛心代碼
導(dǎo)語:
哈嘍,在經(jīng)歷了過年相親這一環(huán)節(jié),成了是好事??,不成也是多認(rèn)識(shí)一個(gè)人,見見"世面",也可以“開拓”一下眼界,說不定遇到什么奇葩,以后跟朋友也有了茶余飯后的話題。
希望我們?cè)谶@快餐時(shí)代里,都能遇到小火慢燉的粥~
正文:
一直覺得turtle是個(gè)非??蓯鄣膸?,突發(fā)奇想,然后想試試傳說中的土味表白:用python畫一顆小愛心——
Google programming!啟動(dòng)!

確實(shí)有很多很多現(xiàn)成的代碼,比如[1]:

畫出來也很好看:

但左看右看,覺得背后的邏輯,比如forward( )的參數(shù)、right( )的參數(shù)怎么來的不是很直白,于是用最簡單的思路再推了一下:
第一步,考慮從“心尖”的位置開始,先向左上角畫一條直線,與y軸的夾角設(shè)為45度:

第二步,心形的上方是一個(gè)弧形,可以設(shè)計(jì)成從原先的斜率開始,每前進(jìn)1單位轉(zhuǎn)1單位角度,畫一個(gè)半圓:

第三步,右側(cè)基本重復(fù),但調(diào)整一下旋轉(zhuǎn)角度,相應(yīng)的各個(gè)參數(shù)的關(guān)系也很容易推:

OK順著這個(gè)思路,非常簡單的代碼如下:
import turtle
# set a window
wn = turtle.Screen()
wn.bgcolor("black")
wn.screensize(800, 600)
# set a pen
pen = turtle.Turtle()
pen.color("pink")
pen.shape("turtle")
#畫筆形狀設(shè)成了非常可愛的海龜hh
pen.fillcolor("pink")
turtle.speed(10)
# define functions
def curve():
for i in range(180):
pen.right(1)
pen.forward(2)
def heart():
pen.left(135)
pen.forward(720/3.14)
curve()
pen.left(90)
curve()
pen.forward(720/3.14)
def text():
pen.penup()
pen.setpos(-50,50)
pen.pendown()
pen.color("white")
pen.write(input("enter the words:"), font = ("Verdana", 30, "bold"))
# painting!
pen.begin_fill()
pen.penup()
pen.setpos(0,-150)
pen.pendown()
heart()
pen.end_fill()
text()
turtle.done()
效果!

結(jié)尾:
今天的分享就到這里,喜歡就點(diǎn)個(gè)贊吧!

到此這篇關(guān)于python 詳解turtle畫愛心代碼的文章就介紹到這了,更多相關(guān)python 畫愛心 內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python入門while循環(huán)語句理解學(xué)習(xí)
這篇文章主要介紹了python入門while循環(huán)語句理解學(xué)習(xí),文中附含詳細(xì)圖文示例教程,有需要的朋友可以借鑒參考下,希望能夠有所幫助2021-09-09
python簡單獲取本機(jī)計(jì)算機(jī)名和IP地址的方法
這篇文章主要介紹了python簡單獲取本機(jī)計(jì)算機(jī)名和IP地址的方法,涉及Python中socket模塊的相關(guān)使用技巧,需要的朋友可以參考下2015-06-06
pycharm 使用心得(八)如何調(diào)用另一文件中的函數(shù)
事件環(huán)境: pycharm 編寫了函數(shù)do() 保存在make.py 如何在另一個(gè)file里調(diào)用do函數(shù)?2014-06-06
python數(shù)據(jù)分析之DateFrame數(shù)據(jù)排序和排名方式
這篇文章主要介紹了python數(shù)據(jù)分析之DateFrame數(shù)據(jù)排序和排名方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-05-05
如何使Python中的print()語句運(yùn)行結(jié)果不換行
這篇文章主要介紹了如何使Python中的print()顯示當(dāng)前語句后不換行,print() 是一個(gè)常用函數(shù),但是每次,print()語句顯示后都會(huì)換行,本問我們就來節(jié)日如何使print()顯示當(dāng)前語句后不換行,需要的朋友可以參考一下2022-03-03
python3.5 + PyQt5 +Eric6 實(shí)現(xiàn)的一個(gè)計(jì)算器代碼
這篇文章主要介紹了python3.5 + PyQt5 +Eric6 實(shí)現(xiàn)的一個(gè)計(jì)算器代碼,在windows7 32位系統(tǒng)可以完美運(yùn)行 計(jì)算器,有興趣的可以了解一下。2017-03-03

