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

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

畫出來也很好看:

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

第二步,心形的上方是一個弧形,可以設計成從原先的斜率開始,每前進1單位轉1單位角度,畫一個半圓:

第三步,右側基本重復,但調整一下旋轉角度,相應的各個參數(shù)的關系也很容易推:

OK順著這個思路,非常簡單的代碼如下:
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")
#畫筆形狀設成了非??蓯鄣暮}攈h
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()
效果!

結尾:
今天的分享就到這里,喜歡就點個贊吧!

到此這篇關于python 詳解turtle畫愛心代碼的文章就介紹到這了,更多相關python 畫愛心 內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
淺談python中str字符串和unicode對象字符串的拼接問題
今天小編就為大家分享一篇淺談python中str字符串和unicode對象字符串的拼接問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-12-12
Python實現(xiàn)求取表格文件某個區(qū)域內(nèi)單元格的最大值
這篇文章主要介紹基于Python語言,基于Excel表格文件內(nèi)某一列的數(shù)據(jù),計算這一列數(shù)據(jù)在每一個指定數(shù)量的行的范圍內(nèi)(例如每一個4行的范圍內(nèi))的區(qū)間最大值的方法,需要的朋友可以參考下2023-08-08
python利用dir函數(shù)查看類中所有成員函數(shù)示例代碼
這篇文章主要給大家介紹了關于python如何利用dir函數(shù)查看類中所有成員函數(shù)的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用python具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習下吧。2017-09-09
Pycharm使用Database?Navigator連接mysql數(shù)據(jù)庫全過程
這篇文章主要介紹了Pycharm使用Database?Navigator連接mysql數(shù)據(jù)庫全過程,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-07-07

