前言

Turtle模块是Python的一个内置模块,这个模块的开发的初衷是通过绘图来教小孩学习编程,当时十分流行;现在也用在零基础入门的学习者的教学中。这个绘图模块使用简单,十分容易上手,在零基础入门的学生中也是很受欢迎的。下面我会以一个实例来讲解Turtle绘图的用法。

Turtle库常见的绘图指令

我把turtle常用的指令都整理出来如下图所示,大多数情况下的绘图所需的指令都在下面:

turtle.setup() #设置窗体位置及大小

turtle.pendown() # 放下画笔

turtle.penup() # 抬起画笔

turtle.pensize(int) # 设置画笔宽度

turtle.forward(float) # 将画笔向后移动一定的角度

turtle.right(angle) # 将画笔右转一定的角度

turtle.left(angle) #将画笔左转一定的角度

turtle.goto(x,y) # 将画笔移动到一个指定的绝对坐标

turtle.setx(x) # 设置画笔向x方向移动的距离,值为实数

turtle.sety(y) # 设置画笔向y方向移动的距离,值为实数

turtle.setheading(angle) # 设定turtle箭头的方向为指定方向,0–东 90—北

turtle.home() # 将画笔返回到原点

turtle.circle(r,ext,steps=int) # 绘制一个设置半径和阶数的圆(设置之后会绘制多边形)

turtle.dot(d,color) # 绘制一个指定直径的圆点,颜色为字符串类型

turtle.undo() #取消最后一个图操作

turtle.speed(s) # 设置画笔速度,为整数类型,且取值在1-10之间

turtle.color(‘str’) # 设置画笔颜色,为字符串类型

turtle.fillcolor(‘str’) # 设置填充颜色,为字符串类型

turtle.begin_fill() # 结束填充

turtle.end_fill() # 开始填充

turtle.filling() # 返回填充状态,True表示填充,False表示没有填充

turtle.clear() # 清除窗口所有内容

turtle.reset() # 清除窗口,将状态和位置复位为初始值

turtle.screensize(w,h) # 设置turtle显示的大小,并设置宽度和高度

turtle.hideturtle() # 隐藏turtle箭头

turtle.showturtle() # 显示turtle窗口

turtle.done() # 使turtle窗口不会自动消失

turtle.isvisible() # 如果turtle可见,返回turtle

turtle.write(‘str’,font=(“Arial”,8,“normal”)) # 在turtle位置编写字符串s,字体由字体名、字体大小、字体类型三部分组成

turtle.position() # 获取画笔的坐标,返回一个元组,值为浮点型

绘制漫天雪花

程序结构分为三个部分,分别是:绘制雪花、绘制地面、主程序

绘制雪花

首先初始化画笔的参数

然后通过random模块随机设置颜色(R,G,B)中的三个参数,使用画笔的pencolor(R,G,B)命令,设置画笔的颜色,从而绘制出不同颜色的雪花图案

绘制地面

地面主要是通过浅灰色线条来展示,所有只需要用到绘制直线的命令(起点到终点);另外,线条的位置以及长度随机出现,所以需要使用random模块来随机终点的坐标来控制随机长度,使用forward方法来控制随机位置。

主程序

设置画布的位置、大小、背景颜色等参数,然后调用绘制雪花以及绘制地面的函数即可

总结

turtle模块绘制图形,就是熟悉模块下的各种指令来完成各项绘图功能,这也是python外部库存在的意义。通过turtle的学习,我们要掌握python其他模块的使用规则以及学习要点,为后续的进阶做准备。

更多python学习内容,欢迎点击关注哦。更多实战案例,请看《Python入门100个经典实例》。

python image清除_60秒掌握Python内置模块Turtle的用法——绘制漫天雪花相关推荐

  1. 弄懂这56个Python使用技巧,秒变Python大神!

    1. 枚举 - enumerate 可以有参数哦 之前我们这样操作: i = 0for item in iterable: print i, item i += 1 现在我们这样操作: for i, ...

  2. python 邮件中生成图表_60秒一口Python:147个demo,助你从新手小白步步进阶编程高手...

    人生苦短,编程苦手,不妨学起Python,感受一飞冲天的快乐. 不要害怕学习的过程枯燥无味,这里有程序员jackzhenguo打造的一份中文Python"糖果包":147个代码小样 ...

  3. python turtle循环图案-Python内置模块turtle绘图详解

    urtle库是Python语言中一个很流行的绘制图像的函数库,想象一个小乌龟,在一个横轴为x.纵轴为y的坐标系原点,(0,0)位置开始,它根据一组函数指令的控制,在这个平面坐标系中移动,从而在它爬行的 ...

  4. python重复执行_关于计时器:在Python中每x秒重复执行一次函数的最佳方法是什么?...

    我想永远每60秒在Python中重复执行一个函数(就像目标C中的NSTimer一样). 这段代码将作为守护进程运行,实际上就像使用cron每分钟调用python脚本一样,但不需要用户设置. 在这个关于 ...

  5. 告别刷抖音!30秒一个Python小例子,总有一款适合你

    小编每天上班坐地铁,不是刷抖音就是煲电视剧,不是我不想学习,主要是短视频太好看了,30秒一个,刷刷刷的不停啊.如果Python也有30秒学习的小例子,我也一定会看呢. 于是小编收录整理了一些30秒一个 ...

  6. 告别刷抖音!30秒一个Python小例子,总有一款适合你,赶紧收藏!

    小编每天上班坐地铁,不是刷抖音就是煲电视剧,不是我不想学习,主要是短视频太好看了,30秒一个,刷刷刷的不停啊.如果Python也有30秒学习的小例子,我也一定会看呢. 于是小编收录整理了一些30秒一个 ...

  7. python时间函数纳秒_python 时间 纳秒_Pandas时间序列(翻译)

    昨天快下班时的需求,对时间进行偏移计算.找了一篇介绍Pandas时间序列的文章,大致翻译一下(把英文粘贴到谷歌翻译,再把中文拷贝过来). 原文:https://jakevdp.github.io/Py ...

  8. python时间函数纳秒_在Python中以秒和纳秒获取POSIX / Unix时间?

    我一直在努力找到一种方法来获取自1970-01-01 00:00:00 UTC以来的时间,以秒为单位,在python中以纳秒为单位,我找不到能给我正确精度的任何东西. 我尝试过使用时间模块,但是精度只 ...

  9. python解题时间_1小时还是30秒?Python给你的另一种数据处理选择

    原标题:1小时还是30秒?Python给你的另一种数据处理选择 引子 想象一下,你每周都要手动重复同一过程,比如从多个来源复制数据并粘贴到一个电子表格中,用于后续处理.这项任务可能每周都需要花费一两个 ...

最新文章

  1. 大盘点|6D姿态估计算法汇总(上)
  2. 2016河北省职称计算机考试试题及答案,2016年最新河北省职称计算机考试试题及答案概要.doc...
  3. python使用符号 表示单行注释-Python编程规范之注释
  4. 苹果降价背后的代工厂之殇
  5. IBM powerVM VIOS
  6. Python学习_2
  7. keras.metrics中的accuracy
  8. csstd超出部分用...替换
  9. 删除某个目录及目录下的所有子目录和文件
  10. 用python进行wifi密码生成
  11. bat脚本 rar压缩文件 rar压缩文件带一层路径 带路径压缩
  12. gx works2 存储器空间或桌面堆栈不足_2020淮北Gx螺旋输送机价格厂家出售
  13. 无线局域网安全协议(WEP、WPA、WAPI)
  14. 尼康图像处理软件——nx studio
  15. 华景机器人百度_qq群机器人凉了,晨风创始人被抓,酷Q停止运营!
  16. Android项目无用文件 BAT批处理 清理
  17. 爱快路由器下水星(Mercury)无线管理器AC跨三层发现AP
  18. EXCEL密码清除——巧用RAR
  19. 【20保研】华东师范大学计算机科学与软件工程学院第五届“高可信软件工程优秀大学生夏令营”活动通知...
  20. 电商企业如何利用CRM突出重围?

热门文章

  1. jpa 公共字段顺序_临沂沂水景观花箱销售公司公共使用
  2. django3数据库设计之商城项目
  3. 阻尼衰减曲线用python_阻尼的反击 | 被半篇论文爆脑两次是一种什么体验
  4. arcgis 投影坐标系转地理坐标系_空间坐标与投影系统系列(二):国内常用投影坐标系...
  5. PL-SLAM Real-time monocular visual SLAM with points and lines
  6. 从零开始的服务器配置
  7. SSH 免密码/免用户名/免IP登录云服务器
  8. LeetCode Week 2:第 11 ~ 20 题
  9. ~~线性筛法求素数(附模板题)
  10. CUDA——Ubuntu系统上CUDA和cuDNN的安装教程