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. 洛谷 P1776 宝物筛选(多重背包)

    题目传送门 解题思路: 可以转化成0-1背包来做,但暴力转化的话,时间不允许.所以就用了一个二进制划分的方法,将m个物品分成2,4,8,16,32......(2的次方)表示,可以证明这些数通过一定组 ...

  2. h5-伸缩布局

    1.html代码 <div class="box"> <div class="first">1</div> <div ...

  3. mysql自增长字段设置

    mysql版本:5.7.27 说明:表中只能设置一个自增长字段[主键.索引(其他普通字段不行))] 设置自增长开始值: ALTER TABLE table_name AUTO_INCREMENT=10 ...

  4. 吴裕雄--天生自然JAVA SPRING框架开发学习笔记:Spring CGLlB动态代理

    JDK 动态代理使用起来非常简单,但是它也有一定的局限性,这是因为 JDK 动态代理必须要实现一个或多个接口,如果不希望实现接口,则可以使用 CGLIB 代理. CGLIB(Code Generati ...

  5. 吴裕雄--天生自然JAVA SPRING框架开发学习笔记:Spring目录结构和基础JAR包介绍

    可以通过网址 http://repo.spring.io/simple/libs-release-local/org/springframework/spring/ 下载名称为 springframe ...

  6. Android群英传神兵利器读书笔记——第三章:Android Studio奇技淫巧

    这篇文章篇幅较长,可以使用版权声明下面的目录,找到感兴趣的进行阅读 3.1 Android Studio使用初探 Project面板 Stucture面板 Android Monitor Keymap ...

  7. VC++ DLL 1 一点概念

    1.在写代码的时候,我们可能会经常要用到一些封装好的函数或者类,这些可能是C/C++的标准库提供的,也可能是由别人开发的非标准库,这个时候就会涉及到动态链接库或者静态链接库的使用了. 举个例子,做图像 ...

  8. (day 1)创建项目--2

    在pycharm查看创建好的项目 可以将myblog当做模块使用

  9. npm全局权限设置 - Mac

    网络上的常见方法 目前网络上常见的方法都是修改npm安装路径的权限 通过使用命令 npm config get prefix 得到npm的路径,结果大部分都是/usr/local.然后,很多方法都会要 ...

  10. 自己简单配置webpack

    第一步 // 1.在新建文件夹中,npm init -y,生成package.json文件 // package.json 文件内容 { "name": "02webpa ...