文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Python如何利用Turtle库绘制一个小老虎

2023-06-29 03:53

关注

这篇文章将为大家详细讲解有关Python如何利用Turtle库绘制一个小老虎,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

导语

哈喽铁汁们好久不见吖~小编已经复工了于是马不停蹄赶来给大家准备新年礼物算开工礼物吧!

Python如何利用Turtle库绘制一个小老虎

海龟来作图

虎年就是要画老虎

2022不用纸和笔~

今晚画老虎~

一二三四五

Python如何利用Turtle库绘制一个小老虎

老虎宝宝示意图

Python如何利用Turtle库绘制一个小老虎

虎年怎么能少得了老虎?画只虎头虎脑的可爱老虎,点燃除夕夜。不用纸和笔,就靠Python海龟作图,小朋友赶紧代码敲起来吧!

1.定义库以及初始化界面

def laohu():    import turtle as t    # 设置幕布大小及颜色    t.screensize(50, 50, bg='yellow')    t.title("老虎宝宝")    t.shape("classic")    t.pensize(10)    t.color("orange")    t.fillcolor("pink")    t.speed(100)    t.hideturtle()

2.画出左右两只耳朵

# 左耳    t.penup()    t.goto(-105, 97)    t.setheading(160)    t.begin_fill()    t.pendown()    t.circle(-30, 230)    t.setheading(180)    t.circle(37, 90)    t.end_fill()    # 右耳    t.penup()    t.goto(105, 97)    t.setheading(20)    t.begin_fill()    t.pendown()    t.circle(30, 230)    t.setheading(0)    t.circle(-37, 90)    t.end_fill()

3.画出小老虎头部轮廓

# 头部轮廓    t.penup()    t.goto(-67, 140)    t.setheading(30)    t.pendown()    t.circle(-134, 60)     t.penup()    t.goto(-50, -25)    t.setheading(180)    t.pendown()    t.circle(-100, 30)    t.circle(-30, 90)    t.setheading(100)    t.circle(-200, 20)     t.penup()    t.goto(50, -25)    t.setheading(0)    t.pendown()    t.circle(100, 30)    t.circle(30, 90)    t.setheading(80)    t.circle(200, 20)

4. 画出老虎的两只眼睛

# 两虎眼    # 左眼    t.penup()    t.goto(-90, 25)    t.setheading(-45)    t.fillcolor("orange")    t.begin_fill()    t.pendown()    # 椭圆绘制技巧    a = 0.2    for i in range(120):        if 0 <= i < 30 or 60 <= i < 90:            a = a + 0.1            t.lt(3)  # 向左转3度            t.fd(a)  # 向前走a的步长        else:            a = a - 0.1            t.lt(3)            t.fd(a)    t.end_fill()     t.fillcolor("pink")    t.penup()    t.goto(-53, 43)    t.setheading(0)    t.begin_fill()    t.pendown()    t.circle(19, 360)    t.end_fill()     t.penup()    t.pensize(4)    t.goto(-60, 57)    t.setheading(30)    t.pendown()    t.circle(-12, 60)    # 右眼    t.penup()    t.goto(90, 25)    t.setheading(45)    t.pensize(2)    t.fillcolor("orange")    t.begin_fill()    t.pendown()    # 椭圆绘制技巧    a = 0.2    for i in range(120):        if 0 <= i < 30 or 60 <= i < 90:            a = a + 0.1            t.lt(3)  # 向左转3度            t.fd(a)  # 向前走a的步长        else:            a = a - 0.1            t.lt(3)            t.fd(a)    t.end_fill()     t.fillcolor("pink")    t.penup()    t.goto(53, 43)    t.setheading(0)    t.begin_fill()    t.pendown()    t.circle(13, 360)    t.end_fill()     t.penup()    t.pensize(4)    t.goto(60, 57)    t.setheading(150)    t.pendown()    t.circle(12, 60)

5.画出老虎的鼻子和嘴巴

# 鼻子和嘴吧    t.penup()    t.goto(-16, 20)    t.setheading(-90)    t.fillcolor("pink")    t.begin_fill()    t.pendown()    a = 0.2    for i in range(120):        if 0 <= i < 30 or 60 <= i < 90:            a = a + 0.03            t.lt(3)            t.fd(a)        else:            a = a - 0.03            t.lt(3)            t.fd(a)    t.end_fill()     t.penup()    t.goto(-24, 0)    t.setheading(-60)    t.pendown()    t.circle(28, 120)

6.画出小老虎的左右肢体和脚趾

# 小老虎肢体    # 左肢    t.color("orange")    t.penup()    t.goto(-65, -24)    t.setheading(-140)    t.begin_fill()    t.pendown()    t.circle(100, 40)    t.setheading(180)    t.circle(30, 40)    t.setheading(-40)    t.circle(40, 40)    t.setheading(-150)    a = 0.5    for i in range(120):        if 0 <= i < 30 or 60 <= i < 90:            a = a + 0.05            t.lt(3)  # 向左转3度            t.fd(a)  # 向前走a的步长        elif 30 <= i < 60 or 90 <= i < 100:            a = a - 0.05            t.lt(3)            t.fd(a)    t.setheading(93)    t.circle(-150, 30)    t.end_fill()     t.penup()    t.goto(-85, -115)    t.setheading(-150)    t.color("pink", "pink")    t.begin_fill()    t.pendown()    a = 0.3    for i in range(120):        if 0 <= i < 30 or 60 <= i < 90:            a = a + 0.03            t.lt(3)  # 向左转3度            t.fd(a)  # 向前走a的步长        else:            a = a - 0.03            t.lt(3)            t.fd(a)    t.end_fill()     # 每个脚趾绘制函数     def toe(x, y):        t.begin_fill()        t.goto(x, y)        t.circle(3, 360)        t.end_fill()     t.penup()    toe(-98, -120)    toe(-96, -110)    toe(-88, -105)    toe(-80, -105)     # 右肢    t.color("orange")    t.penup()    t.goto(65, -24)    t.setheading(-40)    t.begin_fill()    t.pendown()    t.circle(-100, 40)    t.setheading(0)    t.circle(-30, 40)    t.setheading(-140)    t.circle(-40, 40)    t.setheading(-30)    a = 0.5    for i in range(120):        if 0 <= i < 30 or 60 <= i < 90:            a = a + 0.05            t.rt(3)  # 向左转3度            t.fd(a)  # 向前走a的步长        elif 30 <= i < 60 or 90 <= i < 100:            a = a - 0.05            t.rt(3)            t.fd(a)    t.setheading(87)    t.circle(150, 30)    t.end_fill()     t.penup()    t.goto(85, -115)    t.setheading(150)    t.color("pink", "pink")    t.begin_fill()    t.pendown()    a = 0.3    for i in range(120):        if 0 <= i < 30 or 60 <= i < 90:            a = a + 0.03            t.lt(3)  # 向左转3度            t.fd(a)  # 向前走a的步长        else:            a = a - 0.03            t.lt(3)            t.fd(a)    t.end_fill()     t.penup()    toe(98, -120)    toe(96, -110)    toe(88, -105)    toe(80, -105)

7.在需要的位置写上我们的新年祝福

t.goto(-57, -140)    t.color("orange")    t.setheading(-20)    t.pendown()    t.circle(165, 40)    t.penup()    t.goto(0, 180)    t.write("祝大家虎年快乐,虎虎生威!",            align="center", font=("Times", 28, "bold"))     t.color("black")    t.penup()    t.goto(0, 80)    t.write("王",            align="center", font=("Times", 38, "bold"))    t.penup()    t.goto(0, -5)    t.write("一                   一",            align="center", font=("Times", 18, "bold"))    t.goto(0, -15)    t.write("一                   一",            align="center", font=("Times", 18, "bold"))    t.goto(0, -25)    t.write("一                   一",            align="center", font=("Times", 18, "bold"))

8. 显示倒数3,2,1

#显示倒数3,2,1def draw_0(i):    turtle.screensize(50, 50, bg='yellow')    turtle.speed(0)    turtle.penup()    turtle.hideturtle()  # 隐藏箭头显示    turtle.goto(-50, -100)    turtle.color('red')    write = turtle.write(i, font=('宋体', 200, 'normal'))    time.sleep(1)

9.显示我们需要的文字

# 显示文字def draw_1():    turtle.penup()    turtle.hideturtle()    #隐藏箭头显示    turtle.goto(-410, 0)    turtle.color('red')    write = turtle.write('叮咚~新年礼物到啦????', font=('宋体', 60, 'normal'))    time.sleep(2)

10.设定代码运行入口,调用目标函数

number=[3,2,1]    #储存显示界面倒数数字1,2,3if __name__ == '__main__':    turtle.setup(900, 500)     #调画布的尺寸    for i in number:        turtle.screensize(50, 50, bg='yellow')        draw_0(i)        clear_screen()    turtle.screensize(50, 50, bg='yellow')    draw_1()    clear_screen()    turtle.screensize(50, 50, bg='yellow')    laohu()    time.sleep(5)    threads = []    for i in range(100):  # 需要的弹框数量        t = threading.Thread(target=dow)        threads.append(t)        time.sleep(0.01)        threads[i].start()

成果展示

Python如何利用Turtle库绘制一个小老虎

关于“Python如何利用Turtle库绘制一个小老虎”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯