利用Python如何畫(huà)一顆心、小人發(fā)射愛(ài)心
源碼:
#!/usr/bin/env python
# -*- coding:utf-8 -*-
import turtle
import time
# 畫(huà)心形圓弧
def hart_arc():
for i in range(200):
turtle.right(1)
turtle.forward(2)
def move_pen_position(x, y):
turtle.hideturtle() # 隱藏畫(huà)筆(先)
turtle.up() # 提筆
turtle.goto(x, y) # 移動(dòng)畫(huà)筆到指定起始坐標(biāo)(窗口中心為0,0)
turtle.down() # 下筆
turtle.showturtle() # 顯示畫(huà)筆
# 初始化
turtle.setup(width=800, height=500) # 窗口(畫(huà)布)大小
turtle.color('red', 'pink') # 畫(huà)筆顏色
turtle.pensize(3) # 畫(huà)筆粗細(xì)
turtle.speed(1) # 描繪速度
# 初始化畫(huà)筆起始坐標(biāo)
move_pen_position(x=0,y=-180) # 移動(dòng)畫(huà)筆位置
turtle.left(140) # 向左旋轉(zhuǎn)140度
turtle.begin_fill() # 標(biāo)記背景填充位置
# 畫(huà)心形直線( 左下方 )
turtle.forward(224) # 向前移動(dòng)畫(huà)筆,長(zhǎng)度為224
# 畫(huà)愛(ài)心圓弧
hart_arc() # 左側(cè)圓弧
turtle.left(120) # 調(diào)整畫(huà)筆角度
hart_arc() # 右側(cè)圓弧
# 畫(huà)心形直線( 右下方 )
turtle.forward(224)
turtle.end_fill() # 標(biāo)記背景填充結(jié)束位置
# 點(diǎn)擊窗口關(guān)閉程序
window = turtle.Screen()
window.exitonclick()
效果圖:

源碼:
import turtle as t
from time import sleep
def go_to(x, y):
t.up()
t.goto(x, y)
t.down()
def head(x, y, r):
go_to(x, y)
t.speed(20)
t.circle(r)
leg(x, y)
def leg(x, y):
t.right(90)
t.forward(180)
t.right(30)
t.forward(100)
t.left(120)
go_to(x, y - 180)
t.forward(100)
t.right(120)
t.forward(100)
t.left(120)
hand(x, y)
def hand(x, y):
go_to(x, y - 60)
t.forward(100)
t.left(60)
t.forward(100)
go_to(x, y - 90)
t.right(60)
t.forward(100)
t.right(60)
t.forward(100)
t.left(60)
eye(x, y)
def eye(x, y):
go_to(x - 50, y + 130)
t.right(90)
t.forward(50)
go_to(x + 40, y + 130)
t.forward(50)
t.left(90)
def big_Circle(size):
t.speed(20)
for i in range(150):
t.forward(size)
t.right(0.3)
def line(size):
t.speed(20)
t.forward(51 * size)
def small_Circle(size):
t.speed(20)
for i in range(210):
t.forward(size)
t.right(0.786)
def heart(x, y, size):
go_to(x, y)
t.left(150)
t.begin_fill()
line(size)
big_Circle(size)
small_Circle(size)
t.left(120)
small_Circle(size)
big_Circle(size)
line(size)
t.end_fill()
def main():
t.pensize(2)
t.color('red', 'pink')
head(-120, 100, 100)
heart(250, -80, 1)
go_to(100, -300)
t.write("To: 智慧與美貌并存的", move=True, align="left", font=("楷體", 20, "normal"))
t.done()
main()
效果圖:

總結(jié)
到此這篇關(guān)于利用Python如何畫(huà)一顆心、小人發(fā)射愛(ài)心的文章就介紹到這了,更多相關(guān)Python畫(huà)小人發(fā)射愛(ài)心內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
基于Python實(shí)現(xiàn)給喜歡的主播自動(dòng)發(fā)彈幕
這篇文章主要介紹了python如何實(shí)現(xiàn)給喜歡的主播自動(dòng)發(fā)彈幕的功能,文中的示例代碼對(duì)我們學(xué)習(xí)Python有一定的幫助,感興趣的朋友可以了解下2021-12-12
Python可視化神器pyecharts繪制儀表盤(pán)
這篇文章主要介紹了Python可視化神器pyecharts繪制儀表盤(pán),文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的朋友可以參考一下2022-07-07
Python讀取Excel數(shù)據(jù)實(shí)現(xiàn)批量生成合同
Python在自動(dòng)化辦公方面具有極大的優(yōu)勢(shì),可以解決我們工作中遇到的很多重復(fù)性問(wèn)題。本文將通過(guò)Python讀取Excel數(shù)據(jù)實(shí)現(xiàn)批量生成合同,需要的可以參考一下2022-05-05
Python SMTP發(fā)送郵件遇到的一些問(wèn)題及解決辦法
今天小編就為大家分享一篇關(guān)于Python SMTP發(fā)送郵件遇到的一些問(wèn)題及解決辦法,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2018-10-10
Python中執(zhí)行JavaScript實(shí)現(xiàn)數(shù)據(jù)抓取的多種方法
JavaScript是一門(mén)強(qiáng)大的腳本語(yǔ)言,廣泛應(yīng)用于網(wǎng)頁(yè)前端開(kāi)發(fā)、構(gòu)建交互式用戶(hù)界面以及處理各種客戶(hù)端端任務(wù),有時(shí)可能需要在Python環(huán)境中執(zhí)行JavaScript代碼,本文將介紹多種方法,幫助你在Python中執(zhí)行 JavaScript代碼,并提供詳盡的示例代碼,使你能夠輕松掌握這一技能2023-11-11
Python爬取百度地圖POI數(shù)據(jù)代碼的步驟
爬取百度地圖的POI數(shù)據(jù)涉及法律和道德問(wèn)題,因?yàn)檫@類(lèi)數(shù)據(jù)受到版權(quán)保護(hù),且大多數(shù)在線地圖服務(wù)都有嚴(yán)格的反爬蟲(chóng)措施,這篇文章主要介紹了Python爬取百度地圖POI數(shù)據(jù)代碼,需要的朋友可以參考下2024-08-08
Python之字典對(duì)象的幾種創(chuàng)建方法
這篇文章主要介紹了Python之字典對(duì)象的幾種創(chuàng)建方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09
django rest framework serializer返回時(shí)間自動(dòng)格式化方法
這篇文章主要介紹了django rest framework serializer返回時(shí)間自動(dòng)格式化方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-03-03

