利用Python如何畫一顆心、小人發(fā)射愛心
源碼:
#!/usr/bin/env python
# -*- coding:utf-8 -*-
import turtle
import time
# 畫心形圓弧
def hart_arc():
for i in range(200):
turtle.right(1)
turtle.forward(2)
def move_pen_position(x, y):
turtle.hideturtle() # 隱藏畫筆(先)
turtle.up() # 提筆
turtle.goto(x, y) # 移動(dòng)畫筆到指定起始坐標(biāo)(窗口中心為0,0)
turtle.down() # 下筆
turtle.showturtle() # 顯示畫筆
# 初始化
turtle.setup(width=800, height=500) # 窗口(畫布)大小
turtle.color('red', 'pink') # 畫筆顏色
turtle.pensize(3) # 畫筆粗細(xì)
turtle.speed(1) # 描繪速度
# 初始化畫筆起始坐標(biāo)
move_pen_position(x=0,y=-180) # 移動(dòng)畫筆位置
turtle.left(140) # 向左旋轉(zhuǎn)140度
turtle.begin_fill() # 標(biāo)記背景填充位置
# 畫心形直線( 左下方 )
turtle.forward(224) # 向前移動(dòng)畫筆,長(zhǎng)度為224
# 畫愛心圓弧
hart_arc() # 左側(cè)圓弧
turtle.left(120) # 調(diào)整畫筆角度
hart_arc() # 右側(cè)圓弧
# 畫心形直線( 右下方 )
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如何畫一顆心、小人發(fā)射愛心的文章就介紹到這了,更多相關(guān)Python畫小人發(fā)射愛心內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python3實(shí)現(xiàn)的判斷環(huán)形鏈表算法示例
這篇文章主要介紹了Python3實(shí)現(xiàn)的判斷環(huán)形鏈表算法,涉及Python針對(duì)環(huán)形鏈表的遍歷、判斷相關(guān)操作技巧,需要的朋友可以參考下2019-03-03
python+ollama自己寫代碼調(diào)用本地deepseek模型
本文主要介紹了python+ollama自己寫代碼調(diào)用本地deepseek模型,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2025-03-03
pycharm不以pytest方式運(yùn)行,想要切換回普通模式運(yùn)行的操作
這篇文章主要介紹了pycharm不以pytest方式運(yùn)行,想要切換回普通模式運(yùn)行的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-09-09
python實(shí)現(xiàn)列表推導(dǎo)式與生成器
列表推導(dǎo)式和生成器都是Python中處理集合的強(qiáng)大工具,列表推導(dǎo)式用于快速生成列表,而生成器表達(dá)式則提供了一種節(jié)約內(nèi)存的方式來(lái)處理大型數(shù)據(jù)集,下面就來(lái)介紹一下python實(shí)現(xiàn)列表推導(dǎo)式與生成器,感興趣的可以了解一下2024-09-09
Python sorted對(duì)list和dict排序
這篇文章主要介紹了Python sorted對(duì)list和dict排序,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06
opencv python簡(jiǎn)易文檔之圖像處理算法
OpenCV是一個(gè)開源庫(kù),包含了許多計(jì)算機(jī)視覺(jué)算法,它在計(jì)算機(jī)視覺(jué)和圖像處理中起著重要作用,用于實(shí)時(shí)操作,其效率足以滿足工業(yè)上的要求,這篇文章主要給大家介紹了關(guān)于opencv python簡(jiǎn)易文檔之圖像處理算法的相關(guān)資料,需要的朋友可以參考下2021-08-08
Python中使用urllib2模塊編寫爬蟲的簡(jiǎn)單上手示例
這篇文章主要介紹了Python中使用urllib2模塊編寫爬蟲的簡(jiǎn)單上手示例,文中還介紹到了相關(guān)異常處理功能的添加,需要的朋友可以參考下2016-01-01

