Python turtle:简单绘制一只恐龙的代码实现

导语

大家好,今天我们要来一起探索Python编程的有趣一面——如何用Python来画一只可爱的恐龙!这次我们将使用Python的turtle模块,这是一个非常直观和有趣的图形绘制库,适合初学者入门。不论你是Python初学者,还是已经有一定基础的朋友,都可以跟着步骤一起动手实践哦!

【完整代码及更多Python资源福利请往下🎁】


效果展示


开发过程

📚前置知识

首先,确保你的电脑上已经安装了Python,如果没有安装,你可以从官网下载并安装或查看另一文章:Python安装教程(2024最新)_python下载安装教程-CSDN博客

  • Python基础语法

  • turtle库(Python自带的绘图库)

📚为什么使用turtle

turtle模块以其直观和易于理解的特点,成为了学习Python编程时不可或缺的一部分。通过控制“小海龟”的移动和绘图,我们可以学习到编程的基础概念,如循环、变量、函数等。

💻开始动手

首先,我们需要导入turtle库。

import turtle as t
💻画恐龙的步骤

现在我们要开始画恐龙了!由于真实的恐龙的形状比较复杂,我们这里简单画出一个简笔化一样的恐龙,但是也会有恐龙的身体,眼睛,嘴巴,手脚

💻运行代码

将下面完整代码复制到一个.py文件中,然后在Python环境中运行,你会看到一个窗口,窗口正在一步一步画出火箭的结构。

💻进阶挑战

如果你觉得这个恐龙还不够炫酷,那么你可以尝试以下进阶挑战:

  1. 添加其它效果,让恐龙更加逼真。

  2. 修改背景和字体颜色,使其更加符合你的审美。

  3. 尝试使用其他GUI库(如PyQt、wxPython等)来绘制,看看效果有何不同。

读者福利:对Python感兴趣的童鞋,为此小编专门给大家准备好了Python全套的学习资料

想要学习Python并且达到能做副业、兼职接单、提升自己收入的小伙伴,我给大家分享一套Python学习资料分享:《python安装工具&全套学习资料》免费分享(安全链接,放心点击)


完整代码

import turtle as t


def jump(x, y):
    t.penup()
    t.goto(x, y)
    t.pendown()


t.setup(1000, 600)
t.speed(10)
t.pensize(5)
t.pencolor("SpringGreen4")
t.begin_fill()

jump(250, 180)
t.seth(120)
t.circle(100, 140)
t.seth(-96)
t.fd(120)
t.circle(-100, 50)
t.circle(-80, 23)
t.seth(176)
t.fd(20)
t.seth(180)
t.circle(-315, 40)
t.seth(270)
t.circle(50, 30)
t.circle(10, 3)
t.seth(-60)
t.circle(180, 40)
t.circle(500, 20)
t.circle(750, 8)
t.circle(80, 60)
t.circle(70, 30)
t.fd(90)
t.circle(-80, 30)
t.seth(10)
t.fd(60)
t.seth(160)
t.fd(90)
t.seth(22)
t.fd(89)
t.color("LightGreen")
t.end_fill()

for i in range(2):
    t.pensize(5)
    t.pencolor("SpringGreen4")
    jump(128 + (i * 49), 165 + (i * 10))
    t.begin_fill()
    t.seth(0)
    t.circle(20, 360)
    t.color((1, 1, 1))
    t.end_fill()
    jump(128 + (i * 49), 185 + (i * 10))
    t.seth(0)
    t.pensize(15)
    t.pencolor((0, 0, 0))
    t.circle(1, 360)

t.pencolor("Aquamarine4")
t.pensize(11)
jump(195, 60)
t.seth(10)
t.fd(34)
jump(208, 66)
t.pensize(9)
t.seth(45)
t.fd(21)
jump(208, 66)
t.pensize(9)
t.seth(-35)
t.fd(21)
t.pensize(11)
jump(171, 20)
t.seth(-3)
t.fd(58)
jump(213, 22)
t.pensize(9)
t.seth(35)
t.fd(18)
jump(213, 20)
t.pensize(9)
t.seth(-55)
t.fd(20)
t.pensize(14)
jump(171, 20)
t.seth(-3)
t.fd(39)
t.pensize(14)
jump(195, 60)
t.seth(10)
t.fd(10)
t.pensize(16)
jump(71, -100)
t.seth(-110)
t.fd(40)
jump(55, -140)
t.pensize(11)
t.seth(-150)
t.fd(28)
jump(55, -140)
t.seth(-70)
t.fd(23)
jump(55, -140)
t.seth(-20)
t.pensize(10)
t.fd(23)
t.seth(-40)
t.pensize(11)
t.fd(8)
t.pensize(16)
jump(142, -113)
t.seth(-80)
t.fd(23)
jump(145, -133)
t.pensize(11)
t.seth(-120)
t.fd(30)
jump(145, -133)
t.pensize(11)
t.seth(-70)
t.fd(27)
jump(145, -133)
t.pensize(10)
t.seth(-27)
t.fd(27)
t.pensize(11)
t.seth(-50)
t.fd(8)

t.color("Yellow2")
t.pensize(4)
# 画上边的一排牙
for i in range(3):
    jump(240 - (i * 20), 172 - (i * 8))
    t.seth(-110)
    t.fd(12)
    t.seth(120 + (i * 10))
    t.fd(12)

t.pensize(5)
t.pencolor("SpringGreen4")
jump(250, 180)
t.seth(22)
t.bk(88)

# 画下边的一排牙
t.color("Yellow2")
t.pensize(4)
for i in range(3):
    jump(200 + (i * 15), 140 - (i * 5))
    t.seth(45)
    t.fd(12)
    t.seth(-90)
    t.fd(12)

t.pensize(5)
t.pencolor("SpringGreen4")
jump(251, 119)
t.seth(160)
t.fd(89)
t.pensize(5)
jump(120, 220)
t.pencolor("SeaGreen")
t.begin_fill()
t.color('SeaGreen')
t.seth(160)
t.fd(40)
t.seth(-60)
t.fd(33)
t.end_fill()

t.begin_fill()
t.color('SeaGreen')
t.seth(180)
t.fd(40)
t.seth(-60)
t.fd(33)
t.end_fill()

t.begin_fill()
t.color('SeaGreen')
t.seth(200)
t.fd(40)
t.seth(-50)
t.fd(38)
t.end_fill()

t.begin_fill()
t.color('SeaGreen')
t.seth(205)
t.fd(40)
t.seth(-50)
t.fd(46)
t.end_fill()

t.begin_fill()
t.color('SeaGreen')
t.seth(220)
t.fd(40)
t.seth(-50)
t.fd(41.2)
t.end_fill()

t.begin_fill()
t.color('SeaGreen')
t.seth(190)
t.fd(40)
t.seth(-50)
t.fd(40.8)
t.end_fill()

t.begin_fill()
t.color('SeaGreen')
t.seth(168)
t.fd(44)
t.seth(-89)
t.fd(47)
t.end_fill()

t.begin_fill()
t.color('SeaGreen')
t.seth(138)
t.fd(33)
t.seth(-120)
t.fd(28)
t.end_fill()

t.begin_fill()
t.color('SeaGreen')
t.seth(118)
t.fd(32)
t.seth(-120)
t.fd(28)
t.end_fill()

t.begin_fill()
t.color('SeaGreen')
t.seth(118)
t.fd(32)
t.seth(-120)
t.fd(30)
t.end_fill()

t.begin_fill()
t.color('SeaGreen')
t.seth(118)
t.fd(32)
t.seth(-120)
t.fd(24)
t.end_fill()

t.begin_fill()
t.color('SeaGreen')
t.seth(118)
t.fd(32)
t.seth(-120)
t.fd(24)
t.end_fill()

t.begin_fill()
t.color('SeaGreen')
t.seth(110)
t.fd(32)
t.seth(-120)
t.fd(24)
t.end_fill()

t.begin_fill()
t.color('SeaGreen')
t.seth(110)
t.fd(32)
t.seth(-120)
t.fd(22)
t.end_fill()

t.pensize(7)
jump(-99, -49)
t.seth(-1)
t.fd(86)
t.seth(0)
t.fd(6)
t.seth(40)
t.fd(30)
t.seth(50)
t.fd(48)
t.seth(90)
t.fd(15)
t.hideturtle()
t.done()

运行上方完整代码,你就可以得到一个简单的恐龙了。


总结

通过Python的turtle模块,我们可以轻松地绘制出各种有趣的图形,包括像恐龙这样的复杂形状。这不仅是一个很好的学习编程的方式,也是一个发挥想象力和创造力的平台。希望你在这个过程中享受到了编程的乐趣!

如果你对Python编程或图形绘制有更多的兴趣,不妨继续探索turtle模块的其他功能,或者尝试使用其他图形库来绘制更复杂的图形和动画。祝你编程愉快!

 

  • 20
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值