当前位置:首页>java>Python Turtle 画图超全代码!教你用 turtle 绘制安卓 logo,绘图技巧一键掌握

Python Turtle 画图超全代码!教你用 turtle 绘制安卓 logo,绘图技巧一键掌握

  • 2026-09-09 15:52:55
Python Turtle 画图超全代码!教你用 turtle 绘制安卓 logo,绘图技巧一键掌握

点击蓝字 关注我们

一、课程导入

哈喽,朋友们,又见面了!今天我们来学习一个超级酷的Python项目——用代码绘制Android机器人!相信很多小朋友都见过Android机器人吧?它是安卓手机的标志,一个绿色的小机器人,非常可爱!今天我们就用Python的turtle库来画出这个绿色的小机器人,体验一下编程的神奇魅力!

真正的课程导入语:同学们!有没有想过用代码画出Android机器人?今天的Python课堂,我们就要解锁超酷的「Android机器人绘制」编程技能!想象一下:你敲出几行代码,屏幕上就会慢慢画出一个绿色的小机器人,有圆圆的脑袋、方方的身体、细细的手臂和短短的腿,就像变魔术一样!这一切都能在Python里实现!通过这节课,我们会学会使用turtle库、控制画笔移动、填充颜色这些核心编程技巧,更能锻炼逻辑思维和创造力。接下来,就让我们一起化身小小程序员,用代码画出属于自己的Android机器人,看看谁的机器人最可爱!准备好开启这场编程冒险了吗?现在,Let's code!

二、作品效果

我希望你能通过作品效果,总结作品的关键操作步骤。

(扫码运行代码)

  1. 程序启动,设置黑色背景

  2. 绘制Android机器人的头部(绿色圆形,带眼睛和天线)

  3. 绘制Android机器人的身体(绿色矩形)

  4. 绘制Android机器人的腿部(两个绿色的粗线条)

  5. 绘制Android机器人的手臂(两个绿色的粗线条)

  6. 显示「Thank you for watching....」和「少儿编程吕口口」文字

你总结的可能跟我不一样,但是大差不差,也许你的更好。

思考时间

三、用到的模块

  1. turtle模块:Python的绘图库,就像我们的画笔,可以在屏幕上画画

  2. 基本绘图命令:

    • speed():设置画笔速度

    • bgcolor():设置背景颜色

    • color():设置画笔颜色

    • fd():向前移动指定距离

    • xcor():获取当前x坐标

    • seth():设置画笔方向

    • begin_fill():开始填充颜色

    • circle():画一个指定半径和角度的圆

    • end_fill():结束填充颜色

    • penup():抬起画笔,移动时不留下痕迹

    • goto():移动到指定坐标

    • pendown():放下画笔,移动时留下痕迹

    • dot():画一个指定大小和颜色的点

    • home():返回原点(0, 0)

    • hideturtle():隐藏画笔

    • right():向右转指定角度

    • pensize():设置画笔大小

    • showturtle():显示画笔

    • left():向左转指定角度

    • reset():重置画笔状态

    • pencolor():设置画笔颜色

    • write():在指定位置写入文字

    • done():完成绘图,保持窗口打开

四、逻辑分析

Android机器人绘制逻辑├── 初始化设置│   ├── 导入turtle模块│   ├── 设置画笔速度│   └── 设置黑色背景├── 绘制头部│   ├── 绘制绿色圆形头部│   ├── 填充头部颜色│   ├── 绘制眼睛(黑色圆点)│   └── 绘制天线├── 绘制身体│   ├── 绘制绿色矩形身体│   └── 填充身体颜色├── 绘制腿部│   ├── 绘制左腿│   └── 绘制右腿├── 绘制手臂│   ├── 绘制左臂│   └── 绘制右臂└── 完成绘制    ├── 显示感谢文字    ├── 显示作者信息    └── 保持窗口打开

五、具体操作

我希望你在看下面过程之前,你自己能根据作品效果做出至少80%(做不出来的话,你要清楚的知道自己哪里不会哪里不清晰)。这样你在看下面的操作之后才能真正学到一些「知识」,不经过自己思考就得到的答案,不深刻,逻辑思维也不会得到提升。

1. 初始化设置

【初始化代码】

importturtleasty = 0t.speed(5)# t.screensize(200,800)t.bgcolor("black")# t.shape("turtle")

详细程序讲解:

  • import turtle as t:导入turtle模块,并给它起一个简短的名字t,这样我们就可以使用t来调用它的功能了

  • y = 0:定义一个变量y,初始值为0,后面会用到

  • t.speed(5):设置画笔的速度为5,数值越大速度越快

  • # t.screensize(200,800):这是一个注释,意思是设置屏幕大小为200x800,但是被注释掉了,所以不会执行

  • t.bgcolor("black"):设置背景颜色为黑色,这样绿色的机器人会更明显

  • # t.shape("turtle"):这是一个注释,意思是设置画笔形状为乌龟,但是被注释掉了,所以不会执行

为什么要这样编写?

  • 导入模块:使用turtle库的绘图功能

  • 设置速度:让绘制过程既不会太快也不会太慢,方便我们观察

  • 设置背景:黑色背景可以让绿色的机器人更突出,看起来更酷

2. 绘制头部

【头部代码】

defhead():t.color("green")t.fd(160)x = t.xcor()t.seth(90)t.begin_fill()# t.color("green")t.circle(x/2, 180)t.end_fill()t.penup()t.goto(33, 37)t.pendown()t.dot(13, "black")t.penup()t.goto(126, 37)t.pendown()t.dot(13, "black")t.penup()t.home()t.pendown()t.hideturtle()t.fd(160)t.seth(90)t.circle(x/2, 60)t.right(90)t.pensize(5)t.fd(30)t.penup()t.home()# t.pendown()t.hideturtle()t.fd(160)t.seth(90)t.circle(x/2, 120)t.right(90)t.pensize(5)t.pendown()t.fd(30)t.penup()t.home()t.penup()

详细程序讲解:

  • def head()::定义一个函数,名字叫head,用来绘制机器人的头部

  • t.color("green"):设置画笔颜色为绿色

  • t.fd(160):向前移动160个单位,画出一条水平线

  • x = t.xcor():获取当前x坐标,这个值将用来计算头部的半径

  • t.seth(90):设置画笔方向为90度(向上)

  • t.begin_fill():开始填充颜色

  • # t.color("green"):这是一个注释,设置画笔颜色为绿色,但是被注释掉了,所以不会执行

  • t.circle(x / 2, 180):画一个半径为x/2的圆,只画180度(半圆),这样就形成了头部的形状

  • t.end_fill():结束填充颜色,这样头部就变成绿色的了

  • t.penup():抬起画笔,移动时不留下痕迹

  • t.goto(33, 37):移动到坐标(33, 37)

  • t.pendown():放下画笔,移动时留下痕迹

  • t.dot(13, "black"):画一个大小为13,颜色为黑色的点,这是机器人的左眼

  • t.penup():抬起画笔

  • t.goto(126, 37):移动到坐标(126, 37)

  • t.pendown():放下画笔

  • t.dot(13, "black"):画一个大小为13,颜色为黑色的点,这是机器人的右眼

  • t.penup():抬起画笔

  • t.home():返回原点(0, 0)

  • t.pendown():放下画笔

  • t.hideturtle():隐藏画笔

  • t.fd(160):向前移动160个单位

  • t.seth(90):设置画笔方向为90度(向上)

  • t.circle(x / 2, 60):画一个半径为x/2的圆,只画60度

  • t.right(90):向右转90度

  • t.pensize(5):设置画笔大小为5

  • t.fd(30):向前移动30个单位,画出机器人的左天线

  • t.penup():抬起画笔

  • t.home():返回原点(0, 0)

  • # t.pendown():这是一个注释,放下画笔,但是被注释掉了,所以不会执行

  • t.hideturtle():隐藏画笔

  • t.fd(160):向前移动160个单位

  • t.seth(90):设置画笔方向为90度(向上)

  • t.circle(x / 2, 120):画一个半径为x/2的圆,只画120度

  • t.right(90):向右转90度

  • t.pensize(5):设置画笔大小为5

  • t.pendown():放下画笔

  • t.fd(30):向前移动30个单位,画出机器人的右天线

  • t.penup():抬起画笔

  • t.home():返回原点(0, 0)

  • t.penup():抬起画笔

为什么要这样编写?

  • 函数定义:将绘制头部的代码放在一个函数里,使代码结构更清晰

  • 填充颜色:使用begin_fill和end_fill填充头部为绿色,让头部看起来更真实

  • 计算半径:通过获取当前x坐标来计算头部的半径,这样头部大小会自动适应

  • 绘制眼睛:使用dot函数画黑色的点作为眼睛,让机器人看起来更可爱

  • 绘制天线:在头部两侧画出天线,增加机器人的特色

3. 绘制身体

【身体代码】

defbody():t.pensize(0)t.home()t.showturtle()t.goto(0, -7)t.pendown()t.begin_fill()t.fd(160)t.right(90)t.fd(120)t.right(90)t.fd(160)y = t.ycor()t.right(90)t.fd(120)t.end_fill()

详细程序讲解:

  • def body()::定义一个函数,名字叫body,用来绘制机器人的身体

  • t.pensize(0):设置画笔大小为0,这样身体的边框就不会显示出来

  • t.home():返回原点(0, 0)

  • t.showturtle():显示画笔

  • t.goto(0, -7):移动到坐标(0, -7),这是身体的起始位置

  • t.pendown():放下画笔

  • t.begin_fill():开始填充颜色

  • t.fd(160):向前移动160个单位,画出身体的上边缘

  • t.right(90):向右转90度

  • t.fd(120):向前移动120个单位,画出身体的右边缘

  • t.right(90):向右转90度

  • t.fd(160):向前移动160个单位,画出身体的下边缘

  • y = t.ycor():获取当前y坐标,这个值在这里没有被使用,只是为了保持代码结构

  • t.right(90):向右转90度

  • t.fd(120):向前移动120个单位,画出身体的左边缘

  • t.end_fill():结束填充颜色,这样身体就变成绿色的了

为什么要这样编写?

  • 函数定义:将绘制身体的代码放在一个函数里,使代码结构更清晰

  • 无边界:设置画笔大小为0,让身体看起来没有边框,更美观

  • 矩形身体:通过画四条边,形成一个矩形的身体,这是Android机器人的经典形状

  • 填充颜色:使用begin_fill和end_fill填充身体为绿色,与头部颜色保持一致

4. 绘制腿部

【腿部代码】

deflegs():t.penup()# t.color("red")t.goto(33, -169)t.pendown()t.pensize(32)t.fd(43)t.penup()t.goto(130, -169)t.pendown()t.fd(43)t.penup()

详细程序讲解:

  • def legs()::定义一个函数,名字叫legs,用来绘制机器人的腿部

  • t.penup():抬起画笔

  • # t.color("red"):这是一个注释,设置画笔颜色为红色,但是被注释掉了,所以不会执行

  • t.goto(33, -169):移动到坐标(33, -169),这是左腿的起始位置

  • t.pendown():放下画笔

  • t.pensize(32):设置画笔大小为32,这样腿会看起来比较粗

  • t.fd(43):向前移动43个单位,画出左腿

  • t.penup():抬起画笔

  • t.goto(130, -169):移动到坐标(130, -169),这是右腿的起始位置

  • t.pendown():放下画笔

  • t.fd(43):向前移动43个单位,画出右腿

  • t.penup():抬起画笔

为什么要这样编写?

  • 函数定义:将绘制腿部的代码放在一个函数里,使代码结构更清晰

  • 画笔大小:设置画笔大小为32,让腿看起来比较粗,符合Android机器人的比例

  • 两条腿:在身体下方画出两条腿,让机器人能够「站立」

5. 绘制手臂

【手臂代码】

defhands():t.home()t.pensize(30)t.goto(-18, -77)t.pendown()t.left(90)t.fd(65)t.penup()t.goto(179, -77)t.pendown()t.fd(65)t.penup()t.hideturtlet.fd(100)t.hideturtle()t.circle(100)t.circle(100, 360, 59)t.reset()t.bgcolor("black")t.pencolor("green")t.hideturtle()t.goto(-300, 0)t.hideturtlet.write("Thank you for watching....", font=("Bodoni MT Black", 28, "bold"))t.penup()t.goto(-40, -170)t.pendown()t.pencolor("yellow")t.write("少儿编程吕口口", font=("Palatino Linotype", 22, "bold"))

详细程序讲解:

  • def hands()::定义一个函数,名字叫hands,用来绘制机器人的手臂

  • t.home():返回原点(0, 0)

  • t.pensize(30):设置画笔大小为30,这样手臂会看起来比较粗

  • t.goto(-18, -77):移动到坐标(-18, -77),这是左臂的起始位置

  • t.pendown():放下画笔

  • t.left(90):向左转90度(向上)

  • t.fd(65):向前移动65个单位,画出左臂

  • t.penup():抬起画笔

  • t.goto(179, -77):移动到坐标(179, -77),这是右臂的起始位置

  • t.pendown():放下画笔

  • t.fd(65):向前移动65个单位,画出右臂

  • t.penup():抬起画笔

  • t.hideturtle:隐藏画笔(这里缺少括号,应该是t.hideturtle(),但不影响运行)

  • t.fd(100):向前移动100个单位

  • t.hideturtle():隐藏画笔

  • t.circle(100):画一个半径为100的圆

  • t.circle(100, 360, 59):画一个半径为100的圆,360度,59条边(多边形)

  • t.reset():重置画笔状态

  • t.bgcolor("black"):设置背景颜色为黑色

  • t.pencolor("green"):设置画笔颜色为绿色

  • t.hideturtle():隐藏画笔

  • t.goto(-300, 0):移动到坐标(-300, 0)

  • t.hideturtle:隐藏画笔(这里缺少括号,应该是t.hideturtle(),但不影响运行)

  • t.write("Thank you for watching....", font=("Bodoni MT Black", 28, "bold")):在当前位置写入「Thank you for watching....」,字体为Bodoni MT Black,大小为28,粗体

  • t.penup():抬起画笔

  • t.goto(-40, -170):移动到坐标(-40, -170)

  • t.pendown():放下画笔

  • t.pencolor("yellow"):设置画笔颜色为黄色

  • t.write("少儿编程吕口口", font=("Palatino Linotype", 22, "bold")):在当前位置写入「少儿编程吕口口」,字体为Palatino Linotype,大小为22,粗体

为什么要这样编写?

  • 函数定义:将绘制手臂的代码放在一个函数里,使代码结构更清晰

  • 画笔大小:设置画笔大小为30,让手臂看起来比较粗,符合Android机器人的比例

  • 两条手臂:在身体两侧画出两条手臂,让机器人看起来更完整

  • 写入文字:在绘制完成后写入感谢文字和作者信息,增加作品的完整性

6. 主函数调用

【主函数代码】

head()body()legs()hands()t.done()

详细程序讲解:

  • head():调用head函数,绘制机器人的头部

  • body():调用body函数,绘制机器人的身体

  • legs():调用legs函数,绘制机器人的腿部

  • hands():调用hands函数,绘制机器人的手臂

  • t.done():完成绘图,保持窗口打开,这样我们就能看到画好的机器人了

为什么要这样编写?

  • 函数调用:按照顺序调用各个函数,先画头部,再画身体,然后画腿部和手臂,最后完成绘图

  • 保持窗口:使用done()函数保持窗口打开,让我们有足够的时间欣赏画好的机器人

7. 整体代码分析

现在让我来总结一下整个代码的逻辑关系:

  1. 初始化:首先导入turtle模块,设置画笔速度和黑色背景

  2. 定义函数:定义head、body、legs和hands四个函数,分别用来绘制机器人的不同部分

  3. 绘制顺序:按照头部 → 身体 → 腿部 → 手臂的顺序绘制机器人

  4. 细节处理:

    • 使用填充颜色让机器人的头部和身体看起来更真实

    • 计算头部半径,使头部大小自动适应

    • 绘制眼睛和天线,增加机器人的特色

    • 使用不同大小的画笔绘制身体的不同部分,保持比例协调

    • 最后写入感谢文字和作者信息,增加作品的完整性

为什么要这样设计?

  • 模块化设计:将不同部分的绘制代码放在不同的函数里,使代码结构清晰,易于理解和修改

  • 顺序绘制:按照从头部到身体再到四肢的顺序绘制,符合我们的认知习惯

  • 细节处理:添加眼睛、天线等细节,让机器人看起来更可爱、更有特色

  • 比例协调:使用不同大小的画笔,保持机器人各部分的比例协调

六、课程拓展

如果想让Android机器人更有趣,你可以尝试添加一些新功能:

  1. 添加颜色:尝试使用不同的颜色绘制机器人,比如蓝色、红色或黄色

  2. 添加表情:在机器人的脸上画出不同的表情,比如微笑、惊讶或生气

  3. 添加动作:让机器人的手臂或腿部动起来,增加动画效果

  4. 添加背景:在机器人后面添加简单的背景,比如房子、树木或太阳

  5. 添加文字:在机器人旁边添加文字,比如机器人的名字或问候语

  6. 添加装饰:给机器人添加帽子、围巾或其他装饰,增加个性化

你能尝试实现这些功能吗?


好了,今天的「Android机器人绘制」编程就讲到这里啦!希望你们都能画出自己的Android机器人,成为小小艺术家!如果有什么问题,欢迎在评论区留言哦!我们下期再见~拜拜~


喜欢这篇文章的话,记得点赞、收藏、转发给你的小伙伴们哦!我们下期再见!👋

01
—
python turtle交流群
获取最新python turtle案例
02
—
scratch素材--软件集成版
给孩子找素材是一件麻烦的事情,找的图片还有可能给孩子扣好背景,或者扣成孩子想要的样子。即使去淘宝买的素材,也要从百度网盘,但素材太多大了或者太多文件,也要充值百度网盘超级会员才能保存,提高下载速度。即使下载了,也要上传,不是特别方便,尤其是不好查找。
口口老师深知各位家长的痛点,将常用素材集成在软件角色和背景库当中,无需上传,只需要角色/背景库中查找。更有每月更新版,让孩子专注于编程,发挥创意即可。
关注即可领取,下载不限速,方便快捷。

微信号|scratch-coco

最新文章

随机文章