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. 学习spring的第三天

    1.手动的依赖注入出了昨天所讲的利用<property>和<constructor-arg>标签设置注入外还可以通过属性值设置,这样就少些了一些代码... 1.1:直接在< ...

  2. P1036 跟奥巴马一起编程

    转跳点:

  3. oracle数据库语言(2)----数据操作语言

    DML(数据操纵语言)Data Manipulation Language 用于增.删.改 数据库中的数据 常伴随着TCL(事物操作语言)----commit(保存):rollback(回滚): ), ...

  4. DNS bind9安装

    参考   111 首先要成功安装Centos操作系统,最新版本是Centos 6.4版本,最小化安装. [root@localhost named]# ifconfig -a     0 1 eth1 ...

  5. BZOJ 4029 [HEOI2015]定价

    题解: !!!!!! 分类讨论,情况挺多 #include<iostream> #include<cstdio> #include<cstring> using n ...

  6. Tomcat9卸载与安装

    Tomcat9卸载与安装 首先确定环境变量配置正确,按实际的安装路径来设置. 在tomcat9的bin目录下打开命令行窗口 按住shift键不放,点击右键 输入以下命令 在打开的命令行窗口中输入以下命 ...

  7. 使用ansible tasks生成linux巡检报告

    一直想做个关于资源巡检的功能,其需求就是通过邮件的形式来查看linux资源的使用情况,超出一定的阈值时高亮显示出来.也有人说啦,这个需求通过监控zabbix, prometheus都能做呀,何必自己重 ...

  8. JavaScript把两个数组对象合并成一个一一对应的数组对象

    合并数组或者对象在数组或对象前面加...,是es6的新写法,然后数组的map方法会返回数组. var obj1 = [{ , "model": "XQG70-S1208F ...

  9. windows FTP上传

    TCHAR tcFileName[MAX_PATH * 4] = {L"visio2010永久安装密钥.txt"}; TCHAR tcName[MAX_PATH * 4] = {0 ...

  10. Redis的学习之路

    应用场景 1.作为缓存使用  (1)原始业务功能设计 秒杀 双十一.618 排队购票 (2)运营平台察觉到突发式高频访问热点 突发式热点新闻 (3)高频复杂的统计数据 在线直播 投票排行榜 2.附加功 ...