欢迎来到 Python Turtle(海龟作画)的魔法世界!
欢迎来到 Python Turtle海龟作画的魔法世界Turtle是什么Python 自带的画图工具Python内置的绘图库不用额外安装。屏幕里有一只虚拟小海龟你用文字代码指挥它前进、转弯、抬笔、落笔、换颜色海龟走过的轨迹就会画出线条、图形、花朵、小动物甚至美丽的艺术画一句话认识Turtle它是Python自带的“画图机器人”你写代码下指令它帮你画画。先看一个例子随机画出 8 朵花代码初学者先不用理解等看完全文后再回过头来看import turtle import random t turtle.Turtle() t.speed(0) turtle.bgcolor(lightblue) t.pensize(3) # 画一朵五瓣花 def draw_flower(x, y, size): t.penup() t.goto(x, y) t.pendown() colors [orange,pink, red, yellow, green, purple ] for i in range(8): t.pencolor(colors[i % 5]) t.circle(size, 60) t.left(120) t.circle(size, 60) t.left(72) # 随机画出 8 朵花 for i in range(8): x random.randint(-300, 300) y random.randint(-200, 200) size random.randint(20, 50) draw_flower(x, y, size) turtle.done()Python代码工具在写代码之前我们需要一个可以写代码并运行它的工具——python运行环境。安装版https://www.python.org/downloads/到这个官方网站上运行下载的安装程序。⚠️ 极其重要的一步在安装界面的底部务必勾选 “Add Python to PATH”将 Python 添加到环境变量然后点击安装。python IDLE的简明图示使用说明 https://blog.csdn.net/cnds123/article/details/120447451在线版https://python-playground.com/“在线版”指的是在线Python编译器或称为在线Python运行平台你不需要在电脑上下载和安装任何复杂的软件只要打开浏览器、连上网络就可以直接在网页里编写、运行和测试Python代码24。这对于不想折腾电脑配置的初学者来说非常方便。现在开始讲解如何让海龟画画了召唤小海龟写下以下两行代码然后点击“运行Run”import turtle # 1. 导入海龟工具箱t turtle.Turtle() # 2. 召唤一只小海龟给它起名叫 t运行后你会发现屏幕上弹出了一个白色的窗口中间有一个小箭头或者小三角形。那就是你的“小海龟”最基本的“行走指令”小海龟是非常听话的它的基本动作只有四个forward(距离)前进单位是像素比如100表示走100步backward(距离)后退left(角度)向左转比如90表示往左转90度right(角度)向右转开始第一个作品画一个正方形。把下面的代码写进编辑器然后运行import turtle t turtle.Turtle() # 开始画正方形 t.forward(100) # 第一步向前走100步 t.left(90) # 第二步向左转90度 t.forward(100) # 第三步向前走100步 t.left(90) # 第四步再向左转90度 t.forward(100) # 第五步向前走100步 t.left(90) # 第六步再向左转90度 t.forward(100) # 第七步走完最后一条边 t.left(90) # 第八步转回原来的方向 # 保持窗口打开 turtle.done()运行后你会发现小海龟一步一步在屏幕上画出一个正方形。“聪明版”正方形用“循环”给海龟代码瘦身聪明的你一定发现了上面的代码里t.forward(100)和t.left(90)重复写了 4 遍可以用 Python 的循环for loop让代码变短import turtle t turtle.Turtle() # 用循环画正方形4表示循环4次 for i in range(4): t.forward(100) t.left(90) turtle.done()让海龟“变漂亮”——换颜色、加粗、变形状黑白线条太无聊了来给小海龟“打扮”一下我们要给海龟换上彩色的画笔还能把画笔变粗。import turtle t turtle.Turtle() t.shape(turtle) # 把箭头的形状变成一只真正的“小海龟” t.pensize(3) # 把画笔的粗细设为 3默认是1 t.color(blue) # 给海龟戴上蓝色的帽子画笔也变成蓝色 # 用循环画正方形4表示循环4次 for i in range(4): t.forward(100) t.left(90) turtle.done()可用颜色red红blue蓝、green绿、orange橙、purple紫等。核心命令速查常用基础指令小学生必背1. 移动指令turtle.forward(100) # 前进100像素forward可简写为fdturtle.backward(50) # 后退50像素backward可简写为bkturtle.left(90) # 左转90度right可简写为 rtturtle.right(45) # 右转45度left可简写为 ltturtle.goto(x, y) # 移动到坐标turtle.home() # 返回原点2. 画笔控制turtle.pendown() # 落笔移动就画线默认开启pendown() 可简写为 pd()turtle.penup() # 抬笔移动不留痕迹penup() /可简写为 pu()turtle.pensize(3) # 设置画笔粗细turtle.color(red) # 设置画笔颜色red红 blue蓝 green绿 yellow黄3. 海龟外观与画布turtle.shape(turtle) # 把光标改成小海龟形状 turtle, arrow, circle, square, triangleturtle.speed(2) # 画图速度 0最快10很快1~5慢速适合观察turtle.clear() # 清空画布4. 循环结束必须加防止画图窗口一闪而过turtle.done()turtle 设置颜色方法屏幕上所有彩色都由红 (R)、绿 (G)、蓝 (B) 三种光混合而成三种数值搭配不同就会出现千万种颜色。turtle 画笔分两套颜色pencolor()画笔线条颜色画出来的线fillcolor()填充颜色图形内部涂色统一简写 color(颜色) 会同时设置线条 填充色。颜色设置方式方式1: 颜色名称color(red)pen.pencolor(red)pen.fillcolor(blue)直接写颜色英文单词如red红、green绿、blue蓝、black黑、white白、yellow黄、purple紫、orange橙、pink粉方式2: RGB值 (0-255)pen.pencolor(255, 0, 0)三个数字分别代表红、绿、蓝光亮度范围固定 02550 完全不发光255 拉满最亮自由搭配适用场景想要自定义独一无二的柔和配色。例浅粉色 (255, 180, 200)天蓝色 (120, 200, 255)方式3: 十六进制pen.pencolor(#FF0000)# 后面 6 个字符两两一组前两位红、中间两位绿、最后两位蓝数字不只有 0-9还有字母 A-F数值从小到大0 1 ... 9 A B C D E F00 无光FF 最亮和 RGB 的 0、255 一一对应#FF0000 RGB (255,0,0) 红色#00FFFF RGB (0,255,255) 青色坐标系海龟作画的舞台其实是一张精准的数学地图——一个笛卡尔坐标系。有了坐标你就可以直接告诉小海龟“去地图上的XY这个点”Turtle 坐标系统舞台中心是 (0, 0)整个画布的正中心就是原点。X轴控制左右向右走X值变大如 x100向左走X值变小如 x-100。Y轴控制上下向上走Y值变大如 y100向下走Y值变小如 y-100。goto(x, y)让海龟直接移动指定的坐标点。如果笔是落下的就会画出一条线。坐标就像电影院的座位号几排几座goto 就是直接走到那个座位上去。【其它坐标定位命令了解即可:命令功能示例setx(x)只改变X坐标pen.setx(100)sety(y)只改变Y坐标pen.sety(50)home()返回原点(0,0)pen.home()pos()/position()获取当前位置print(pen.pos())xcor()获取X坐标print(pen.xcor())初学学生可做选学内容或先略过。】Turtle 书写文字基本语法基本语法是write(你想写的文字, align对齐方式, font(字体, 大小, 样式))其中align文字的对齐方式可以是 left左对齐、center居中或 right右对齐。font一个包含三个信息的“套餐”字体比如 Arial, 宋体, 黑体 等。大小数字比如 16。样式比如 normal普通、bold粗体、italic斜体。示例给正方形加上说明from turtle import * # 画一个正方形 for i in range(4): forward(100) right(90) # 移动到一个合适的位置正方形中心偏下 penup() goto(50, -150) # 移到合适位置 pendown() # 写下你的说明 write(我的第一个正方形, aligncenter, font(Arial, 16, bold)) done()运行效果circle()画圆函数核心命令circle(radius, extentNone, stepsNone)说明radius圆的半径。·半径为正数如 100海龟逆时针画圆圆心在它的左侧。· 半径为负数如 -100海龟顺时针画圆圆心在它的右侧。extent可选要画的角度单位是度。· 不写这个参数画一个完整的圆。· 写 180画一个半圆。· 写 90画一个四分之一圆。steps可选用多少条直线来拼成这个圆。· 不写这个参数画一个光滑的圆。· 写 4画一个正方形。· 写 6画一个六边形。示例1画一个红色的圆形from turtle import * pencolor(red) circle(100) # 画一个半径为100的圆 done()试一试将“t.circle(100) # 画一个半径为100的圆 ”改为如下语句试试看t.circle(100, 180) # 画一个半圆180度弧t.circle(100, 90) # 画一个四分之一圆弧示例2在屏幕左边画一个圆再到右边画一个心形import turtle # ---------- 准备工作 ---------- t turtle.Turtle() t.speed(0) # 最快速度 t.pensize(3) # 线条粗细 turtle.title(圆 ❤️ 心) # 窗口标题 # ---------- 画圆左边 ---------- t.penup() t.goto(-200, 0) # 移动到左边 t.pendown() t.pencolor(blue) t.circle(80) # 画半径为80的圆 # ---------- 画爱心右边 ---------- size80 # 控制大小 t.penup() # 拔起画笔 t.goto(220, 0) t.pendown() # 拔起画笔 t.pencolor(red) t.left(45) # 先左转45度使尖角朝下 t.forward(size) # 从尖角出发画左侧边 t.circle(size / 2, 180) # 画左半圆弧 t.right(90) # 调整方向 t.circle(size / 2, 180) # 画右半圆弧 t.forward(size) # 画右侧边回到尖角 t.left(45) # 恢复方向 # ---------- 保持窗口 ---------- turtle.done()运行截图如下什么是函数前面开端“随机画出 8 朵花”例子用到了函数。现在简单介绍什么是函数如何使用什么是函数—— 把多条指令包装起来“起个外号”想象一下你每天早上起床都要做三件事刷牙、洗脸、吃早饭。如果每次都要跟妈妈说一遍“我要刷牙、洗脸、吃早饭”太累了。于是你发明了一个新词叫 “开工”。以后你只要喊一声 “开工” 妈妈就知道你要做那三件事了。在编程里函数就是干这个的把一堆经常要用的代码打包起来给它取个名字。以后只要喊这个名字调用函数电脑就会自动执行里面的所有步骤。在 Python 里造一个函数要用 defdefine 的缩写意思是“定义”。格式如下def 函数名字([参数]): # 1. 告诉电脑我要造函数冒号不能少缩进 步骤1 # 2. 里面写要做的事注意一定要缩进4个空格缩进 步骤2其中[参数] 不是必须的“随机画出 8 朵花”例子其中定义了一个画花函数 draw_flower(x, y, size)画花其中花摆在哪里xy坐标、花要多大size拆开来看代码部分含义大白话def告诉Python“我要定义一个新函数”“我要造一个新积木了”draw_flower函数的名字给这个积木起名叫“画花”(x, y, size)三个参数——括号里等待接收的“信息”这个积木有三个“插口”填X坐标、Y坐标、大小:冒号表示“函数体要开始了”冒号后面缩进的内容都属于这个积木缩进的内容函数要做的具体事情积木里面装的“步骤”函数最厉害的地方一次定义反复使用看例子的最后几行# 随机画出 8 朵花for i in range(8):x random.randint(-300, 300)y random.randint(-200, 200)size random.randint(20, 50)draw_flower(x, y, size) # 调用函数这里做了什么事循环8次每次随机生成一个 x、一个 y、一个 size然后调用 draw_flower把这三个值“喂”给它每次调用海龟就画出一朵新的花调用次数传入的参数画出什么第1次x-150, y100, size30在左上方画一朵小花第2次x200, y-80, size45在右下方画一朵大花第3次x50, y150, size25在中间偏上画一朵小花……以此类推………………参数它们是函数的“输入口”。在函数内部它们被当成普通变量来用传进去的数值不一样画出来的花就位置不同、大小不同——但画花的逻辑完全一样。给初学者的防放弃指南先别管“记住” 把这份教程放在旁边用到哪条查哪条。写多了自然就记住了。报错不可怕漏括号、拼错单词——每个程序员每天都会遇到。读读红色报错改过来再试。从改数字开始把案例里的100改成20090改成120看看发生了什么“试错”是最好的学习方式。记住你不是在“学编程”你是在“指挥一只小海龟画画”,而画着画着你就把Python学会了。最后给出几个提兴趣入门示例示例1绘制彩虹螺旋import turtle turtle.color(red) turtle.pensize(2) # 五角星循环5次 for i in range(5): turtle.forward(150) turtle.right(144) # 五角星的外角是144度 turtle.done()import turtle t turtle.Turtle() t.speed(0) # 把海龟的速度设为最快0 是极速不然要画很久 turtle.bgcolor(black) # 把背景颜色设为黑色 # 准备一个彩虹颜色列表 colors [red, purple, blue, green, yellow, orange] # 让海龟循环跑 360 次 for x in range(360): t.pencolor(colors[x % 6]) # 每次循环切换不同的彩虹颜色 t.width(x / 100 1) # 线条随着循环变得越来越粗 t.forward(x) # 每次走的距离都比上一次长一点点形成螺旋放大 t.left(59) # 每次转动59度形成漂亮的错位花瓣 turtle.done()示例2.红色五角星import turtle turtle.color(red) turtle.pensize(2) # 五角星循环5次 for i in range(5): turtle.forward(150) turtle.right(144) # 五角星的外角是144度 turtle.done()附、Python Turtle 全套必背单词音标 释义小学生专用 https://blog.csdn.net/cnds123/article/details/162595308进阶学习通过 Turtle你已经掌握了 Python 代码的语法结构并且习惯了键盘敲击。现在你已经是一名为文字编程做好准备的优秀玩家了继续探索吧下一篇见

相关新闻

最新新闻

日新闻

周新闻

月新闻