turtle 是一个简单的绘图工具。 

  提供一个小海龟,可以把它理解为一个机器人,只能听懂有限的命令,且绘图窗口的原点(0,0)在中间,默认海龟的方向是右侧
海龟的命令包括三类:运动命令、笔画控制命令、其他命令

1.   运动命令
forward(d):向前移动d长度(右侧开始)
backward(d): 向后移动d长度
right(d): 向右旋转多少度
left(d): 向左旋转多少度
goto(x,y):移动到指定的(x,y)坐标轴的位置
turtle.clear() # 情况窗口,不会重置turtle
turtle.reset() # 回复所有设置,清空窗口,重置turtle状态
speed(): 小海龟移动的速度

2.   笔画控制命令
circle(r,e) 绘制一个圆形,r为半径,e为度,满圆是365度,还可以steps= 4,用步数来表示。对应的这三个值分别为:radius(半径);extent(弧度) (optional);steps (optional) (做半径为radius的圆的内切正多边形,多边形边数为steps)
up() 笔画抬起,在移动的是后不再画图
down() 笔画方向
setheading(d) 重置小海龟的方向
pensize(width) 画笔的宽度
pencolor(colorstr) 画笔的颜色

begin_fill() # 填充命令开始
fillcolor(colorstr) # 填充颜色
end_fill() # 结束填充

3.   其他命令
done(): 程序继续执行
undo(): 撤销上一次动作
hideturtle(): 隐藏海龟
showturtle(): 显示海龟
screensize(x,y): 屏幕大小

  举例1:

 turtle.screensize(1000, 100) # 设置屏幕大小
turtle.forward(10) # 向前移动(右)10步
turtle.undo() # 撤销上一步
turtle.forward(100) # 向前移动(右)100步
turtle.undo() # 撤销上一步
turtle.hideturtle() # 隐藏小海龟(光标)
turtle.showturtle() # 展现小海龟(光标)
turtle.clear() # 情况窗口,不会重置turtle
turtle.reset() # 回复所有设置,清空窗口,重置turtle状态
turtle.done() # 继续执行——这个一般加载在小海龟的末尾,保存图形保存。

  举例2:相关的运行指令,用forward 和 left命令画一个矩形。

 # 举例2:
# 相关的运动命令 用forward 和 left命令画一个矩形
turtle.forward(100)
turtle.left(90)
turtle.forward(100)
turtle.left(90)
turtle.forward(100)
turtle.left(90)
turtle.forward(100)
turtle.hideturtle()
turtle.done()

  显示图形:

  举例3:

 turtle.backward(50) # 向后移动
turtle.right(50) # 向右旋转多少度
turtle.goto(50, 100) # 移动到指定的(x, y)
turtle.speed(50) # 小海龟移动的速度
turtle.done()

  显示图形:

  举例4:

 turtle.speed(1.5)
turtle.pensize(10)
turtle.pencolor("black")
turtle.begin_fill() # 开始填充
turtle.circle(200, steps= 10)
turtle.fillcolor("blue") # 填充颜色
turtle.end_fill() # 结束填充
turtle.up()
turtle.down()
turtle.setheading(30)
turtle.done()

  显示图形:

Python笔记_第一篇_面向过程_第一部分_8.画图工具(小海龟turtle)的更多相关文章

  1. Python笔记_第一篇_面向过程_第一部分_2.内存详解

    Python的很多教材中并没有讲内存方面的知识,但是内存的知识非常重要,对于计算机工作原理和方便理解编程语言是非常重要的,尤其是小白,因此需要把这一方面加上,能够更加深入的理解编程语言.这里引用了C语 ...

  2. Python笔记_第二篇_面向过程_第二部分_2.路径、栈和队列、内存修改

    这一部分分三个主题进行讲解,主要为后面的模块.包.第三方库的概念补充一些相关的内容. 1. 路径(Path): 相对路径和绝对路径. 举例1:我们先导入一个os库(模块)来观察一下路径 import ...

  3. 四、java基础-面向过程_对象_类中可出现的因素

    1.面向过程和面向对象区别: 1)面向过程:开发一个应用程序.一个项目,必须先了解整个过程,了解各个步骤.模块间的因果关系,使的面向过程方式去开发程序时,代码和代码之间的关联程度是非常强.所以其中任何 ...

  4. python自动化开发-[第五天]-面向过程、模块、包

    今日概要: 1.内置模块 2.协程函数 3.递归 4.面向过程编程与函数编程 5.模块 6.包 7.re正则 一.内置模块 1.匿名函数lambda 定义:匿名函数通常是创建了可以被调用的函数,它返回 ...

  5. python第四周迭代器生成器序列化面向过程递归

      第一节装饰器复习和知识储备------------ 第一节装饰器复习和知识储备------------ def wrapper(*args,**kwargs): index(*args,**kwa ...

  6. [Python笔记]第八篇:模块

    本篇主要内容:python常用模块用法介绍 什么是模块 模块,用一大段代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性 ...

  7. [Python笔记]第三篇:深浅拷贝、函数

    本篇主要内容:深浅拷贝,自定义函数,三目运算,lambda表达式, 深浅拷贝 一.数字和字符串 对于 数字 和 字符串 而言,赋值.浅拷贝和深拷贝无意义,因为其永远指向同一个内存地址. import ...

  8. python之迭代器、生成器、面向过程编程

    一 迭代器 一 迭代的概念 #迭代器即迭代的工具,那什么是迭代呢?#迭代是一个重复的过程,每次重复即一次迭代,并且每次迭代的结果都是下一次迭代的初始值 while True: #只是单纯地重复,因而不 ...

  9. python函数之协程与面向过程编程

    第一:协程 初步了解协程 def eater(): print('start to eat') while True: food=yield print('is eating food:%s'%foo ...

随机推荐

  1. 关于SI522替代FM17522和MFRC522的资料对比

    以下是SI522与FM17522.MFRC522的对比参数: SI522是完全PIN对PIN软硬件兼容MFRC522.CV520.FM17522,另外我们可提供一对一技术支持解决客户所遇到的问题: 1 ...

  2. C++编程学习(二) 数据

    博主已经有一些基础了,所以写的东西可能是容易错的,或者以前没记住的,或者是对理解知识点有帮助的.因此如果有纯小白看到了这篇博文,不懂的地方请自行百度啦~ 另外,本系列所有内容的图片均来自于西北工业大学 ...

  3. blkid命令 获取文件系统类型、UUID

    在Linux下可以使用blkid命令对查询设备上所采用文件系统类型进行查询.blkid主要用来对系统的块设备(包括交换分区)所使用的文件系统类型.LABEL.UUID等信息进行查询.要使用这个命令必须 ...

  4. Standard Aras Dialogs

    In a another blog post, we covered how to open dialogs within Aras Innovator using custom forms and ...

  5. /Array.CreateInstance创建类型为int,长度为5的数组

    using System;using System.Collections.Generic;using System.Linq;using System.Text; namespace Console ...

  6. 常用模块-正则re

    常用模块之正则模块 """ 正则表达式与re模块的关系 1.正则表达式是一门独立的技术,任何语言均可使用 2.python中要想使用正则表达式需要通过re模块 " ...

  7. [极客大挑战 2019]FinalSQL

    0x00 知识点 盲注 0x01 解题 根据题目提示盲注,随便点几下找到注入点 发现我们输入^符号成功跳转页面,证明存在注入 1^(ord(substr((select(group_concat(sc ...

  8. BZOJ [Cqoi2017] 小Q的棋盘

    题解:枚举最后在哪里停止,然后剩下的步数/2 也就是找最大深度 枚举终止位置算是一种思路吧 #include<iostream> #include<cstdio> #inclu ...

  9. 代码review还是需要再仔细点-一次crash异常分析的总结

    版本发布之后,外网新增了一些crash, 从mini dump看,的确是有异常的,619行crash了. 代码如下: 奔溃的地方如下 可以看到是Zip add的时候指针空了, 为什么呢? 结合代码,可 ...

  10. 关于win10 使用eclipse如何配置环境变量

    关于环境变量的配置,在百度上有很多教程,但对于我来说完成这步操作确实不简单,所以决定在这里分享一下配置方法. 1.安装好jdk/jre.  官网都有安装文件,仔细一些,就能安装成功,可以自定义安装路径 ...