最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python使用turtle模塊繪制愛心圖案

 更新時(shí)間:2021年09月02日 11:29:08   作者:toMontain  
這篇文章主要為大家詳細(xì)介紹了Python使用turtle模塊繪制愛心圖案,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

程序員的浪漫,你懂嗎?

今天使用python小海龜實(shí)現(xiàn)愛心圖案的繪制,代碼如下:

import turtle
import time
 
 
# 清屏函數(shù)
def clear_all():
    turtle.penup()
    turtle.goto(0, 0)
    turtle.color('white')
    turtle.pensize(800)
    turtle.pendown()
    turtle.setheading(0)
    turtle.fd(300)
    turtle.bk(600)
 
 
# 重定位海龜?shù)奈恢?
def go_to(x, y, state):
    turtle.pendown() if state else turtle.penup()
    turtle.goto(x, y)
 
 
# 畫線
# state為真時(shí)海龜回到原點(diǎn),為假時(shí)不回到原來的出發(fā)點(diǎn)
def draw_line(length, angle, state):
    turtle.pensize(1)
    turtle.pendown()
    turtle.setheading(angle)
    turtle.fd(length)
    turtle.bk(length) if state else turtle.penup()
    turtle.penup()
 
 
# 畫箭羽
def draw_feather(size):
    angle = 30                          # 箭的傾角
    feather_num = size//6               # 羽毛的數(shù)量
    feather_length = size // 3          # 羽毛的長度
    feather_gap = size//10              # 羽毛的間隔
    for i in range(feather_num):
        draw_line(feather_gap, angle+180, False)            # 箭柄,不折返
        draw_line(feather_length, angle + 145, True)        # 羽翼,要折返
    draw_line(feather_length, angle + 145, False)
    draw_line(feather_num*feather_gap, angle, False)
    draw_line(feather_length, angle + 145 + 180, False)
    for i in range(feather_num):
        draw_line(feather_gap, angle+180, False)            # 箭柄,不折返
        draw_line(feather_length, angle - 145, True)        # 羽翼,要折返
    draw_line(feather_length, angle - 145, False)
    draw_line(feather_num*feather_gap, angle, False)
    draw_line(feather_length, angle - 145 + 180, False)
 
 
# 畫愛心
def draw_heart(size):
    turtle.color('red', 'pink')
    turtle.pensize(2)
    turtle.pendown()
    turtle.setheading(150)
    turtle.begin_fill()
    turtle.fd(size)
    turtle.circle(size * -3.745, 45)
    turtle.circle(size * -1.431, 165)
    turtle.left(120)
    turtle.circle(size * -1.431, 165)
    turtle.circle(size * -3.745, 45)
    turtle.fd(size)
    turtle.end_fill()
 
 
# 畫箭
def draw_arrow(size):
    angle = 30
    turtle.color('black')
    draw_feather(size)
    turtle.pensize(4)
    turtle.setheading(angle)
    turtle.pendown()
    turtle.fd(size*2)
 
 
# 一箭穿心
# 箭的頭沒有畫出來,而是用海龜來代替
def arrow_heart(x, y, size):
    go_to(x, y, False)
    draw_heart(size*1.15)
    turtle.setheading(-150)
    turtle.penup()
    turtle.fd(size*2.2)
    draw_heart(size)
    turtle.penup()
    turtle.setheading(150)
    turtle.fd(size * 2.2)
    draw_arrow(size)
 
 
# 畫出發(fā)射愛心的小人
def draw_people(x, y):
    turtle.penup()
    turtle.goto(x, y)
    turtle.pendown()
    turtle.pensize(2)
    turtle.color('black')
    turtle.setheading(0)
    turtle.circle(60, 360)
    turtle.penup()
    turtle.setheading(90)
    turtle.fd(75)
    turtle.setheading(180)
    turtle.fd(20)
    turtle.pensize(4)
    turtle.pendown()
    turtle.circle(2, 360)
    turtle.setheading(0)
    turtle.penup()
    turtle.fd(40)
    turtle.pensize(4)
    turtle.pendown()
    turtle.circle(-2, 360)
    turtle.penup()
    turtle.goto(x, y)
    turtle.setheading(-90)
    turtle.pendown()
    turtle.fd(20)
    turtle.setheading(0)
    turtle.fd(35)
    turtle.setheading(60)
    turtle.fd(10)
    turtle.penup()
    turtle.goto(x, y)
    turtle.setheading(-90)
    turtle.pendown()
    turtle.fd(40)
    turtle.setheading(0)
    turtle.fd(35)
    turtle.setheading(-60)
    turtle.fd(10)
    turtle.penup()
    turtle.goto(x, y)
    turtle.setheading(-90)
    turtle.pendown()
    turtle.fd(60)
    turtle.setheading(-135)
    turtle.fd(60)
    turtle.bk(60)
    turtle.setheading(-45)
    turtle.fd(30)
    turtle.setheading(-135)
    turtle.fd(35)
    turtle.penup()
 
 
# 第一個(gè)畫面,顯示文字
def page0():
    turtle.penup()
    turtle.goto(-350, 0)
    turtle.color('black')
    turtle.write('專屬于我們的情人節(jié)', font=('宋體', 60, 'normal'))
    time.sleep(3)
 
 
# 第二個(gè)畫面,顯示發(fā)射愛心的小人
def page1():
    turtle.speed(10)
    draw_people(-250, 20)
    turtle.penup()
    turtle.goto(-150, -30)
    draw_heart(14)
    turtle.penup()
    turtle.goto(-20, -60)
    draw_heart(25)
    turtle.penup()
    turtle.goto(250, -100)
    draw_heart(45)
    turtle.hideturtle()
    time.sleep(3)
 
 
# 最后一個(gè)畫面,一箭穿心
def page2():
    turtle.speed(1)
    turtle.penup()
    turtle.goto(-200, -200)
    turtle.color('blue')
    turtle.pendown()
    turtle.write('ZBT       CJH', font=('wisdom', 50, 'normal'))
    turtle.penup()
    turtle.goto(0, -180)
    draw_heart(10)
    arrow_heart(20, -60, 51)
    turtle.showturtle()
 
 
def main():
    turtle.setup(900, 500)
    page0()
    clear_all()
    page1()
    clear_all()
    page2()
    turtle.done()
 
 
main()

運(yùn)行截圖如下圖所示,其中的姓名縮寫可以自行修改。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • python實(shí)現(xiàn)柵欄加解密 支持密鑰加密

    python實(shí)現(xiàn)柵欄加解密 支持密鑰加密

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)柵欄加解密,支持密鑰加密,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-03-03
  • python設(shè)計(jì)模式之抽象工廠模式詳解

    python設(shè)計(jì)模式之抽象工廠模式詳解

    這篇文章主要介紹了python設(shè)計(jì)模式之抽象工廠模式,通過案例分析,主要說明了該項(xiàng)設(shè)計(jì)模式的主要解決問題,優(yōu)缺點(diǎn)以及何時(shí)使用等,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-07-07
  • python如何實(shí)現(xiàn)圖片壓縮

    python如何實(shí)現(xiàn)圖片壓縮

    這篇文章主要介紹了python如何實(shí)現(xiàn)圖片壓縮,幫助大家更好的利用python處理圖片,感興趣的朋友可以了解下
    2020-09-09
  • 詳解python中g(shù)roupby函數(shù)通俗易懂

    詳解python中g(shù)roupby函數(shù)通俗易懂

    這篇文章主要介紹了詳解python中g(shù)roupby函數(shù)通俗易懂,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • 最新評論

    景洪市| 澎湖县| 会理县| 彰化市| 铜梁县| 石景山区| 水富县| 玉田县| 金山区| 镇远县| 西畴县| 乐陵市| 大邑县| 会理县| 上饶市| 溧阳市| 盱眙县| 通化市| 乌兰察布市| 乌兰浩特市| 屏东市| 长岛县| 余江县| 三河市| 巴林左旗| 南和县| 乳源| 长武县| 嘉鱼县| 大石桥市| 贵阳市| 郑州市| 太和县| 潞城市| 门头沟区| 遂平县| 宁都县| 江口县| 和平区| 政和县| 综艺|