网站首页 > 精选文章 正文
想让孩子轻松入门编程?或者自己想试试有趣的代码绘图?今天教你用Python里的Turtle库,从0开始画五角星、花朵、彩色风车,简单到离谱——哪怕是纯新手,跟着步骤走,30分钟就能上手!
先搞懂:Turtle绘图到底是啥?
简单说,就是用代码控制一只“小海龟”在屏幕上画画:你让它前进,它就拖着笔走;让它转弯,它就换个方向。全程像玩游戏一样,画出来的图还能上色,孩子学编程时根本不会觉得枯燥~
先上成果图感受下:跟着教程,你能画出这样的彩色风车(后面有完整代码,一步一步教你画)
第一步:准备工作,3行代码搞定
打开Python(推荐用IDLE,新手友好),先输入这3行,相当于“把画笔和画板摆好”:
import turtle # 导入绘图工具
screen = turtle.Screen() # 创建设置画板
pen = turtle.Turtle() # 拿出画笔(小海龟)
简单吧?这一步就像画画前铺好画纸、握住画笔,接下来就能开始创作了~
基础操作:让“小海龟”动起来
其实就4个核心命令,记不住没关系,用的时候对照着抄:
o 前进/后退:pen.forward(100)(往前走100步)、pen.backward(50)(往后退50步)
o 转弯:pen.right(90)(向右转90度,像开车打方向盘)、pen.left(45)(向左转45度)
试试画个正方形?很简单:往前走100步,右转90度,重复4次就行
for _ in range(4): # 重复4次
pen.forward(100) # 画一条边
pen.right(90) # 转个弯
运行后,屏幕上会出现一个方方正正的正方形,是不是超有成就感?
进阶:给图形上色、变花样
学会画形状后,加点颜色更漂亮!记住这几个“变魔术”的命令:
o 换画笔颜色:pen.color("red")(把线条换成红色,还能写“blue”“green”)
o 填充颜色:先写pen.begin_fill(),画完形状后写pen.end_fill(),中间的图形就会被填满
o 变画笔粗细:pen.pensize(5)(线条变粗,数字越大越粗)
比如画个黄色五角星,红色边+黄色填充,代码这样写
pen.color("red") # 线条红色
pen.fillcolor("yellow") # 填充黄色
pen.begin_fill() # 开始填充
for _ in range(5): # 画5个角
pen.forward(100)
pen.right(144) # 五角星的角度是144度,记不住可以直接抄
pen.end_fill() # 结束填充
运行后,一个鲜艳的五角星就出来了,孩子看到肯定会觉得超酷!
终极案例:画个会“转”的彩色风车
最后教大家画个复杂点的——彩色风车,步骤拆解清楚,跟着做就行:
1. 先设置画板背景为浅灰色,画笔速度调快(不然画得慢)
2. 准备4种颜色:红、蓝、绿、紫
3. 画4个“小翅膀”,每个翅膀用一种颜色填充
完整代码在这里,每一步都标了注释,直接复制过去就能用
import turtle
# 准备画板:浅灰色背景,标题叫“彩色风车”
screen = turtle.Screen()
screen.bgcolor("lightgray")
screen.title("彩色风车")
# 准备画笔:速度调快,画得更快
pen = turtle.Turtle()
pen.speed(10)
# 准备4种颜色
colors = ["red", "blue", "green", "purple"]
# 画4个风车翅膀
for i in range(4):
pen.color(colors[i]) # 换第i种颜色
pen.begin_fill() # 开始填充
# 下面是画一个翅膀的步骤,不用理解,抄就行
pen.forward(100)
pen.right(90)
pen.forward(50)
pen.right(90)
pen.forward(100)
pen.right(90)
pen.forward(50)
pen.right(90)
pen.end_fill() # 结束填充
pen.right(90) # 转到下一个翅膀的方向
pen.hideturtle() # 隐藏画笔,只看成品
screen.exitonclick() # 点击窗口就关闭
运行后,一个五颜六色的风车就出现在屏幕上啦!如果想让风车“动起来”,可以自己试试加个旋转的代码(提示:用pen.right(1)循环,不过新手先搞定静态的就好~)
最后说2个小技巧
1. 画错了怎么办?输入pen.clear(),屏幕上的画就会被擦掉,重新来
2. 想保存作品?可以用screen.getcanvas().postscript(file="风车.ps"),不过这个需要一点额外设置,新手先截图保存也很方便
你家孩子最喜欢什么图案?或者你想画点什么?评论区告诉我,下次教大家画更复杂的!赶紧收藏起来,周末和孩子一起试试吧~
猜你喜欢
- 2025-07-28 手把手教您3D打印一个自动写字机器人
- 2025-07-28 学习少儿编程,可以这样寓教于乐(少儿编程到底学什么东西)
- 2025-07-28 ROS2开发实践:ROS工具(launch脚本、TF坐标系、Gazebo等)
- 2025-07-28 python海龟绘图turtle(一):画布和窗体
- 2025-07-28 文言文编程还不够好玩?这里有个16岁高中生开发的粤语编程项目
- 2025-07-28 教孩子学Python编程之海龟画图(二)
- 2025-07-28 少儿学编程系列---如何使用turtle画花瓣
- 2025-07-28 Python turtle模块编程实践教程(python turtle.rt)
- 2025-07-28 小学生Python编程入门-9.循环与海龟协作
- 2025-07-28 小学生Python编程入门-10.函数与海龟编程
- 最近发表
-
- Revit软件的AI驱动建模工具,Revit-MCP开源代码
- 腾讯云 Lighthouse 轻量应用服务器:数据驱动的架构选型指南
- 外贸独立站的"减肥日记":跨境电商卖家为何被数据库拖垮?
- CentOS7下搭建日志采集分析系统LogAnalyzer
- SpringBoot数据库管理 - 用Liquibase对数据库管理和迁移?
- 数据库日志清理方法-日志文件收缩
- MySQL数据库太low了,error,slow,general日志...
- 利用shell脚本将Mysql错误日志保存到数据库中
- Python日志管理实战:用logging模块打造专业级应用监控
- Spring Boot中自定义appender实现往数据库中记录日志?
- 标签列表
-
- 向日葵无法连接服务器 (32)
- git.exe (33)
- vscode更新 (34)
- dev c (33)
- git ignore命令 (32)
- gitlab提交代码步骤 (37)
- java update (36)
- vue debug (34)
- vue blur (32)
- vscode导入vue项目 (33)
- vue chart (32)
- vue cms (32)
- 大雅数据库 (34)
- 技术迭代 (37)
- 同一局域网 (33)
- github拒绝连接 (33)
- vscode php插件 (32)
- vue注释快捷键 (32)
- linux ssr (33)
- 微端服务器 (35)
- 导航猫 (32)
- 获取当前时间年月日 (33)
- stp软件 (33)
- http下载文件 (33)
- linux bt下载 (33)