大家好,我是Python领域的博主。

如果你是编程爱好者可以小编一起学习,在这里我每天都会发Python的基础知识,以及相关的代码。

如果文章有什么错误的地方,请不吝赐教。

觉得博主文章写的还错的话,请三连支持一下博主哦

我一直坚信一句话:我相信努力一定会有回报,这个回报可能很慢,但请相信,只要你坚持下去一定会更好的。

系列专栏:

Python图形绘制_~文~J的博客-CSDN博客

Python新手必练题_~文~J的博客-CSDN博客

Python学习库_~文~J的博客-CSDN博客

Python小程序_~文~J的博客-CSDN博客

tuetle库的简介:

Python turtle 库是一个直观有趣的图形绘制函数库。turtle(海龟)图形绘制的概念诞生于 1969 年,并成功应用于 LOGO 编程语言。由于 turtle 图形绘制概念十分直观且非常流行,Python 接受了这个概念,形成了一个 Python 的 turtle 库,并成为标准库之一。这 节将全面介绍 turtle 库的使用。

绘图坐标体系:

turtle 库绘制图形有一个基本框架:一个小海龟在坐标系中爬行,其爬行轨迹形成了绘制图形。对于小海龟来说,有“前进”、“后退”、“旋转”等爬行行为,对坐标 的探索也通过“前进方向”、“后退方向”、“左侧方向”和“右侧方向”等小海龟自身角度方位来完成。刚开始绘制时,小海龟位于画布正中央,此处坐标为(0,0),行进方向为水平右方。

其具体定义如下:

1.turtle.setup(width, height, startx, starty)

作用:设置主窗体的大小和位置。参数如下。
width:窗口宽度,如果值是整数,表示像素值;如果值是小数,表示窗口宽度与屏幕的比例。

height:窗口高度,如果值是整数,表示像素值;如果值是小数,表示窗口高度与屏幕的比例。
startx:窗口左侧与屏幕左侧的像素距离,如果值是 None,窗口位于屏幕水平中央。
starty:窗口顶部与屏幕顶部的像素距离,如果值是 None,窗口位于屏幕垂直中央。

2.turtle.penup()和turtle.pendown()函数

turtle 中的画笔(即小海龟)可以通过一组函数来控制,turtle.penupO函数和 turtle.pendownO函数是一组,它们分别表示抬起画,笔和落下画笔,函数定义如下:
turtle.penup()别名
turtle.pu(),turtle.up()
作用:抬起画笔,之后移动画笔不绘制形状。参数:无。
turtle.pendown()别名--
turtle.pd(),turtle.down()
作用:落下画笔,之后移动画笔将绘制形状。参数:无。

3.turtle.pensize()函数

turtle.pensize()函数用来设置画笔尺寸,函数定义如下: turtle.pensize(width)别名
turtle.width()
作用:设置画笔宽度,当无参数输入时返回当前画笔宽度。参数如下。
width:设置的画笔线条宽度,如果为None 或者为空,则函数返回当前画笔宽度。

4.turtle.pencolor()函数

turtle.pencolor((r,g,b))函数给函数设置颜色,r,g,b分别表示red,green,blue

形状绘制函数:

1.turtle.fd()函数

turtle 通过一组函数控制画笔的行进动作,进而绘制形状。turtle.fdo函数最常用来控制画笔向当前行进方向前进一个距离,函数定义如下:
turtle.fd(distance)别名
turtle.forward(distance)
作用:向小海龟当前行进方向前进 distance 距离。参数如下。
distance:行进距离的像素值,当值为负数时,表示向相反方向前进

2.turtle.seth()函数
turtle.seth0)函数用来改变画笔绘制方向,函数定义如下: turtle.seth(to_angle)别名
turtle.setheading(to_angle)
作用:设置小海龟当前行进方向为to_angle,该角度是绝对方向角度值。参数如下。
to_angle: 角度的整数值

3.turtle.circle()函数

turtle.circle(radius, extent=None)
作用:根据半径radius 绘制 extent 角度的弧形.

参数如下。
radius:弧形半径,当值为正数时,半径在小海龟左侧,当值为负数时,半径小海龟右侧。
extent: 绘制弧形的角度,当不设置参数或参数设置为None 时,绘制中各函数包括角度值、半径值等参数是根据绘制内容的样式调整确定的。

下面绘制正方形螺旋线来举例:

import turtle as t
t.setup(650,450,450,0)
t.left(90)
length=5
for i in range(50):t.fd(length)t.left(90)t.fd(length)t.left(90)length+=5
t.done()

其中turtle.left()是一个改变方向的函数,向左转,同理自然还有一个向右转的函数turtle.right()

小编畅谈:

小编发布的作品都是适合初学者学习,如果你是初学者,可以和小编一起学习,在这里我每天都会发Python的基础知识,以及相关的代码。如果觉得小编写的还不错,关注,点赞,收藏。如果有什么错误之处,请多多指教。我会虚心接受。如果有什么地方不懂,可以私信小编,我会第一时间回复您。

turtle库的精讲相关推荐

  1. SQL语法精讲(包括建库、建表、建视图、查询、增加、删除、修改)

    SQL语法精讲(包括建库.建表.建视图.查询.增加.删除.修改) SQL分类: DDL-数据定义语言(CREATE,ALTER,DROP,DECLARE) DML-数据操纵语言(SELECT,DELE ...

  2. HAL库版STM32双轮自平衡车(三) ———代码精讲

    系列文章目录 编码电机测速 HAL库OLED的使用 HAL库版STM32双轮自平衡车(一) ---代码思路和PID基础精讲 HAL库版STM32双轮自平衡车(二) --- CubeMX的配置.原理图接 ...

  3. HAL库版STM32双轮自平衡车(一) ———代码思路和PID基础精讲

    系列文章目录 HAL库版STM32双轮自平衡车(一) ---代码思路和PID的简单介绍(本篇) HAL库版STM32双轮自平衡车(二) --- CubeMX的配置.原理图接线.物料准备 HAL库版ST ...

  4. l2-004 这是二叉搜索树吗?_LeetCode 例题精讲 | 11 二叉树转化为链表:二叉树遍历中的相邻结点...

    本期例题: LeetCode 98. Validate Binary Search Tree 验证二叉搜索树(Medium) LeetCode 426. Convert Binary Tree to ...

  5. 【原创】分布式之redis复习精讲

    引言 为什么写这篇文章? 博主的<分布式之消息队列复习精讲>得到了大家的好评,内心诚惶诚恐,想着再出一篇关于复习精讲的文章.但是还是要说明一下,复习精讲的文章偏面试准备,真正在开发过程中, ...

  6. Java生鲜电商平台-SpringCloud微服务开发中的数据架构设计实战精讲

    Java生鲜电商平台-SpringCloud微服务开发中的数据架构设计实战精讲 Java生鲜电商平台:   微服务是当前非常流行的技术框架,通过服务的小型化.原子化以及分布式架构的弹性伸缩和高可用性, ...

  7. sql 分组统计_leetcode-sql面试题十七篇精讲合集

    这可能是全网最干货的sql讲解系列文章.全系列共十七讲.做了大量的知识点的拓展,涵盖了sql的方方面面. 欢迎关注点赞收藏,正在整理三年数据分析的点点滴滴.包括Excel.python.sql.pow ...

  8. 分布式之redis复习精讲

    转载自  分布式之redis复习精讲 引言 为什么写这篇文章? 博主的<分布式之消息队列复习精讲>得到了大家的好评,内心诚惶诚恐,想着再出一篇关于复习精讲的文章.但是还是要说明一下,复习精 ...

  9. 【转载】分布式之redis复习精讲

    注: 本篇文章转自:分布式之redis复习精讲 引言 为什么写这篇文章? 博主的<分布式之消息队列复习精讲>得到了大家的好评,内心诚惶诚恐,想着再出一篇关于复习精讲的文章.但是还是要说明一 ...

  10. 语言程序设计第4版黄洪艺_谭浩强《C程序设计》第4版网授精讲班【教材精讲+考研真题串讲】视频网课讲义课程资料...

    谭浩强<C程序设计>(第4版)网授精讲班[教材精讲+考研真题串讲] 网授课程 谭浩强<C程序设计>(第4版)网授精讲班[注:因第11章考试不做要求,所以老师没有讲解!][共31 ...

最新文章

  1. C#:设置当前线程的区域性
  2. The application could not be verified
  3. python经典类新式类_Python新式类与经典类(旧式类)的区别
  4. Android中的Handler的具体用法
  5. LeetCode MySQL 1132. 报告的记录 II
  6. joomla第一单元第四节K2类别设置和第五节项目视图选项
  7. ZooKeeper官方文档学习笔记05-ZooKeeper的屏障(Barrier)和队列(Queue)教程
  8. mysql 5.7.14-winx64_mysql-5.7.14-winx64 解压版本安装
  9. Oracle 日期相减获取年龄
  10. ByPass Mode(略过模式或旁路模式)
  11. 魔兽和星际的最大差别
  12. APICloud手机端网站直接制作手机APP
  13. template < class T> ,map和vector用法——恶补c++
  14. Google-APAC2015-Password Attacker
  15. 中职一年级计算机学情分析,一年级学生学情分析
  16. 苹果新Apple TV出现Bug如何解决?
  17. MPLAB 创建新项目
  18. 优酷土豆路由宝刷固件改无线打印服务器笔记
  19. 分开旅行—没有什么失恋是一场旅行解决不了的
  20. 游戏服务器——网关服

热门文章

  1. linux下哪个分区工具好,这些Linux分区工具是免费的且好用
  2. DiskTool 无损分区软件 免费易用的中文版“无损分区魔术师”(完美支持Win7/32与64位系统)...
  3. 三角波的傅里叶变换对_傅里叶变换推导详解
  4. 测试用例(等价类划分法)
  5. 测试用例入门(二) - 使用等价类划分法编写测试用例
  6. html5兼容QQ浏览器,【QQ浏览器5.1】发布 HTML5兼容性测试
  7. matlab矩阵运算的应用
  8. 三维球体史密斯圆图的发展与理解,史密斯圆图的最新发展
  9. Python实现最简单的深度学习任意层神经网络算法,通熟易懂,里面包括了详细注释的源码
  10. OTDR光时域反射仪测试参数设置